2017-09-27 28 views
-1

警告:破滅()[function.implode]:無效參數傳遞在 C:\ XAMPP \ htdocs中\ tempahperalatan \上線使page2.php 7複選框編碼錯誤,數據插入完美但出現兩個錯誤。

警告:mysqli_error()預計參數1是mysqli的在C空給出 :\ XAMPP \ htdocs中\ tempahperalatan \使page2.php上線23

我做一種形式插入來自多個複選框數據,我提交的完全插入的數據,但是在上述兩次錯誤出現一旦我打開頁面(page2.php)誰能告訴我什麼,我錯過了我的代碼或問題在哪裏?先謝謝你。下面

參考是我的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); 
    } 
?> 

以下是我的方式:發生

<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

的第一個錯誤,因爲你沒有嘗試之前檢查的$_POST['item']存在用它。您需要將這些行移動你的if塊內,或者甚至更好,檢查每個元素,你要使用$_POST

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

第二個錯誤是因爲你是混合mysql_...功能與mysqli_...功能。 You should not be using mysql_... functions at allmysql_*功能已過時,deprecated,並且不安全 - 它們已從現代版本的PHP(版本7.0和更高版本)中完全刪除。改爲使用MySQLiPDO