2013-12-09 137 views
1

我正在做一個IS,並且我在更新mysql表時遇到問題。我使用PHP 5.3和PDO。PDO:無效的參數號

  $query_update = $this->db_connection->prepare('UPDATE Client SET name =: name, surname=:surname WHERE id=:id'); 
      $query_update->bindValue(':id', $id, PDO::PARAM_INT); 
      $query_update->bindValue(':name', $name, PDO::PARAM_STR); 
      $query_update->bindValue(':surname', $surname, PDO::PARAM_STR); 
      $query_update->execute(); 

警告:PDOStatement對象::執行()[pdostatement.execute]:SQLSTATE [HY093]:無效參數號:綁定變量的數目不文件上線X相匹配的令牌的數目 的警告是用execute()引用行。

感謝您的幫助。

編輯:現在工作,再次感謝您的幫助。

回答

6

您的空間太多了。糾正你查詢到這一點:

$this->db_connection->prepare('UPDATE Client SET name =:name, surname=:surname WHERE id=:id'); 
// -----------------------------------------------------^ 

這導致只有兩個變量在查詢,這並沒有匹配您提供的3個變量被使用。

(您在當前表單中的查詢應該在相同的位置發生錯誤)