首页  >  问答  >  正文

使用PHP PDO准备语句进行更新操作

<p>我正在尝试使用以下查询更新我的数据库:</p> <pre class="brush:php;toolbar:false;">$sth = "UPDATE rpacks SET rpacks_location VALUES (:location) WHERE rpacks_id = (:id)"; $q = $conn->prepare($sth); $q->execute(array(':location'=>$location, ':id'=>$id));</pre> <p><b>但我收到此错误</b></p> <p><code>致命错误:未捕获异常“PDOException”,消息为“SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在 </code> 第 1 行的 'VALUES ('test') WHERE rpacks_id = ('2')' 附近使用的正确语法</p>
P粉668019339P粉668019339394 天前370

全部回复(2)我来回复

  • P粉315680565

    P粉3156805652023-08-25 17:13:59

    更改为:

    $sth = "更新 rpacks SET rpacks_location = :location WHERE rpacks_id = :id";

    回复
    0
  • P粉248602298

    P粉2486022982023-08-25 13:33:14

    您的 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

    回复
    0
  • 取消回复