2017-09-27 1 views
-1

경고 : 내파() function.implode] 잘못된 인수 C 전달 \ XAMPP \ htdocs를 \ tempahperalatan \ Page2.php를 라인 7체크 박스 코딩 오류가 발생하면 데이터가 완벽하게 삽입되지만 두 가지 오류가 나타납니다.

경고 : mysqli_error()는 매개 변수 1 mysqli 것으로 예상 널 C에 을 제공 : \ XAMPP \ htdocs를 \ tempahperalatan \ Page2.php 라인 (23)

내가 그러나 위의 여러 체크 박스에서 데이터를 삽입하는 형태로, 내가 완벽하게 삽입 제출 한 데이터를하고있는 중이 야 일단 페이지 (page2.php)를 열면 두 가지 오류가 나타납니다. 코딩에 대해 놓친 부분이나 문제가있는 부분을 누구든지 말해 줄 수 있습니까? 미리 감사드립니다. 당신이 시도하기 전에 $_POST['item']의 존재를 확인하지 않기 때문에

<form action="page2.php" method="POST"> 


     <div class="form-group row text-left"> 
      <label for="example-date-input" class="col-2 col-form-label">Nama Peralatan: </label> 
      <div class="col-10"> 

      <div class="form-group"> 
       <div class="form-row"> 
       <div class="col-md-2"> 
         <div class="form-check text-left"> 
          <label class="form-check-label"> 
           <input class="form-check-input" name="item[]" type="checkbox" value="Microphones"> 
           Microphones 
          </label> 
         </div> 
       </div> 
       <div class=""> 
        <input class="form-control" type="number" value="0" name="microphones" id="example-number-input">        
       </div>         
       </div> 
      </div> 

      <div class="form-group"> 
       <div class="form-row"> 
       <div class="col-md-2"> 
         <div class="form-check text-left"> 
          <label class="form-check-label"> 
           <input class="form-check-input" name="item[]" type="checkbox" value="Amplifiers"> 
           Amplifiers 
          </label> 
         </div> 
       </div> 
       <div class=""> 
        <input class="form-control" type="number" value="0" name="amplifiers" id="example-number-input">  
       </div> 
       </div> 
      </div> 

      <div class="form-group"> 
       <div class="form-row"> 
       <div class="col-md-2"> 
         <div class="form-check text-left"> 
          <label class="form-check-label"> 
           <input class="form-check-input" name="item[]" type="checkbox" value="Loudspeakers"> 
           Loudspeakers 
          </label> 
         </div> 
       </div> 
       <div class=""> 
        <input class="form-control" type="number" value="0" name="loudspeakers" id="example-number-input"> 
       </div> 
       </div> 
      </div> 

      <div class="form-group"> 
       <div class="form-row"> 
       <div class="col-md-2"> 
         <div class="form-check text-left"> 
          <label class="form-check-label"> 
           <input class="form-check-input" name="item[]" type="checkbox" value="Mixers"> 
           Mixers 
          </label> 
         </div> 
       </div> 
       <div class=""> 
        <input class="form-control" type="number" value="0" name="mixers" id="example-number-input">  
       </div> 
       </div> 
      </div>       

      </div> 
     </div>       

    <div class="form-group row text-left"> 
    <label for="exampleTextarea" class="col-2 col-form-label">Catatan: </label> 
     <div class="col-10"> 
     <textarea class="form-control" name="catatan" id="exampleTextarea" rows="3"></textarea> 
     </div> 
    </div> 

    <center><button type="submit" name="submit" class="btn btn-info">Submit</button></center> 

</form> 
+0

mysql 또는 mysqli를 사용하고 있습니까? –

+0

mysql 대신에 mysqli'$ con = mysqli_connect ("localhost", "my_user", "my_password", "my_db");를 사용해야한다. –

+0

mysqli_ * 함수 나 PDO를 사용하라 !! –

답변

5

첫 번째 오류가 발생합니다 참조

아래 내 PHP 코딩입니다 :

<?php 

// Make a MySQL Connection 
mysql_connect("localhost", "root", "") or die(mysql_error()); 
mysql_select_db("tempahperalatan") or die(mysql_error()); 

    $checkBox = implode(',', $_POST['item']); 
    $microphones = $_POST['microphones']; 
    $amplifiers = $_POST['amplifiers']; 
    $loudspeakers = $_POST['loudspeakers']; 
    $mixers = $_POST['mixers']; 
    $catatan = $_POST['catatan']; 

if(isset($_POST['submit'])) 
{  
    $query="INSERT INTO pasystems (item, microphones, amplifiers, loudspeakers, mixers, catatan) VALUES ('" . $checkBox . "', '$microphones', '$amplifiers', '$loudspeakers', '$mixers', '$catatan')";  

    mysql_query($query) or die (mysql_error()); 

    echo "<script type='text/javascript'>alert('Submitted successfully!')</script>"; 
} 
    else{ 
    echo "<script type='text/javascript'>alert('Failed!')</script>" . $sql . "<br>" . mysqli_error($conn); 
    } 
?> 

아래 내 양식입니다 그걸 써. 당신은 더 나은, 사용할 $_POST의 각 요소를 확인, 당신의 if 블록 내부에이 라인을 이동하거나 할 필요가 : 당신이 mysqli_... 기능 mysql_... 기능을 혼합하기 때문에

$checkBox = implode(',', $_POST['item']); 
$microphones = $_POST['microphones']; 
$amplifiers = $_POST['amplifiers']; 
$loudspeakers = $_POST['loudspeakers']; 
$mixers = $_POST['mixers']; 
$catatan = $_POST['catatan']; 

번째 오류입니다. You should not be using mysql_... functions at all. mysql_* 함수는 구식이며 deprecated이며 안전하지 않습니다. PHP의 최신 버전 (버전 7.0 이상)에서 완전히 제거되었습니다. 대신 MySQLi 또는 PDO을 사용하십시오.

관련 문제