我收到错误:
致命错误:未捕获的异常'PDOException',消息>'SQLSTATE [42000]:语法错误或访问冲突:1064 您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在第1行''1'WHERE name_enterprise ='111''附近使用正确的语法 第29行的C:\ wamp \ www \ project \ models \ Db.class.php。
我想知道我的查询是否正确,提前谢谢。
public function update_enterprise2($name_enterprise,$address_enterprise){ $query = 'UPDATE enterprises SET name_enterprise='. $this->_db->quote($name_enterprise) .',address_enterprise'. $this->_db->quote($address_enterprise).'WHERE name_enterprise=' . $this->_db->quote($name_enterprise); $this->_db->prepare($query)->execute(); }
答案 0 :(得分:1)
这是您设置预备声明的方式。
function update_enterprise2($name_enterprise, $address_enterprise) {
$query = '
UPDATE enterprises SET
name_enterprise = :name_enterprise,
address_enterprise = :address_enterprise
WHERE
name_enterprise = :name_enterprise2
';
if ($con = $this->_db->prepare($query)) {
$con->execute([
':name_enterprise' => $name_enterprise,
':address_enterprise' => $address_enterprise,
':name_enterprise2' => $name_enterprise,
]);
}
}
请注意,您只能使用名称参数一次,因此您需要更改名称才能使用它们两次。