2013-03-24 80 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個小時。在我的行動路徑在窗體中的文件路徑被指向不正確的文件,這就是爲什麼我一直在得到這個錯誤。

感謝你們的時間。