2017-09-27 29 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