2013-03-24 81 views
0

我一直在这个mysqli陈述卡住了一段时间。我看不出它有什么问题,我可以得到显示的错误,以便我可以看到我出错的地方。mysqli准备声明不起作用

你能帮我解决这个错误吗?或者请向我解释如何显示错误,以便我可以修复它。

这是我的代码

$add_record = $db->prepare('UPDATE vehicles SET name= ?, VINnum= ?, maker= ?, model= ?, color= ?, year= ?, oilChange= ?, registrationExp= ?, insuranceExp= ?, dailyRate= ?, weekleyRate= ?, monthleyRate= ?, currentMillage= ?, oilChangeMillage= ?, licensePlate= ?, vehicleCost= ? WHERE Vehicles_id = ?'); 


      $add_record->bind_param('sssssisssdddsssdi', $name, $VIN, $maker, $model, $color, $year, $oilChange, $registration, $insurance, $dailyRate, $weekleyRate, $monthleyRate, $currentMillage, $changeOilMillage, $plate, $cost, $id);      


      if($add_record->execute()){ 
       $pass_list = '<li>Good to go</li>'; 
      } else { 
       $error_list .= '<li>SQL error</li>'; 
       echo $db->error;  
      } 
+0

一旦你使用下面的变化得到错误,你能否让我们知道一个编辑? – 2013-03-24 00:50:06

回答

0

查看错误,改变

if($add_record->execute()){ 
       $pass_list = '<li>Good to go</li>'; 
      } else { 
       $error_list .= '<li>SQL error</li>'; 
       echo $db->error;  
      } 

if($add_record->execute()){ 
      $pass_list = '<li>Good to go</li>'; 
     } else { 
      $error_list .= '<li>SQL error</li>'; 
      echo $add_record->error."<br/>"; // <--- this is what you need to change 
      echo $db->error."<br/>"; // <--- this is what you need to change 

     } 

也不要忘了,当你完成关闭statment

$add_record->close(); 

也取决于你回应你的错误的地方,它可能不会显示在HTML页面上。检查这个,查看你的页面源代码

+0

为了澄清,mysqli_stmt和mysqli对象可能包含完全不同的错误信息。因此,最好在从任一对象实例化或执行任何方法之后检查_both_。 – 2013-03-24 00:47:50

+0

没有人显示和错误!我不明白为什么它不是。 – Jaylen 2013-03-24 17:25:31

+0

@Mike也许你的查询是正确的,没有错误,而是你的查询中的'where'条件不匹配任何行,因此没有更新任何内容...? – Tucker 2013-03-24 20:51:21

0

哦,我的天啊,我讨厌这些小错误。这个错误非常简单,我浪费了5个小时。在我的行动路径在窗体中的文件路径被指向不正确的文件,这就是为什么我一直在得到这个错误。

感谢你们的时间。