PHP PDO 更新准备语句

标签 php pdo

我正在尝试使用以下查询更新我的数据库:

$sth = "UPDATE rpacks SET rpacks_location VALUES (:location) WHERE rpacks_id = (:id)";
$q = $conn->prepare($sth);
$q->execute(array(':location'=>$location, ':id'=>$id));

但是我收到这个错误

fatal error :消息为“SQLSTATE[42000] 的未捕获异常“PDOException”:语法错误或访问冲突:1064 您的 SQL 语法有误;查看与您的 MySQL 服务器版本相对应的手册,了解在

中第 1 行的 'VALUES ('test') WHERE rpacks_id = ('2')' 附近使用的正确语法

最佳答案

您的update 查询有误,因为您使用了insert 查询语法。

正确的查询是:

$sql = "UPDATE rpacks SET rpacks_location = :location WHERE rpacks_id = :id";
$stmt = $conn->prepare($sql);
$stmt->execute([':location'=>$location, ':id'=>$id]);

引用: http://dev.mysql.com/doc/refman/5.0/en/update.html

关于PHP PDO 更新准备语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15998961/

相关文章:

php - 分页不会跨页移动

php - 如何用php分隔括号后面的部分值?

mysql - ZF2 - inputFilter -> 将值设置为 null

php - MySQL PDO - try { block } 里面应该有什么?

mysql - Laravel 迁移错误 SQLSTATE[42000]

php - WordPress登录屏幕数据库问题

php - Composer - 是否可以通过一个命令在 "require-dev"全局安装包?

php mysql、pdo 和查询 : why multiple 'query' don't work (in this case)?

javascript - 使用 jQuery .load() 将一个页面的脚本部分加载到另一个页面中

PHP pdo - 许多连接