我正在制作IS而且我在更新mysql表时遇到问题。我正在使用PHP 5.3和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 :: execute()[pdostatement.execute]:SQLSTATE [HY093]:参数号无效:绑定变量数与第X行文件中的标记数不匹配。 警告是使用execute()引用行。
感谢您的帮助。
编辑:现在正在工作,再次感谢您的帮助。答案 0 :(得分:6)
你的空间太大了。纠正您对此的查询:
$this->db_connection->prepare('UPDATE Client SET name =:name, surname=:surname WHERE id=:id');
// -----------------------------------------------------^
这导致查询中只使用了两个变量,这与您提供的3个变量不匹配。
(您在当前表单中的查询无论如何都应该在同一位置发出错误。)