为了账号安全,请及时绑定邮箱和手机立即绑定

PDO错误:“ SQLSTATE [HY000]:常规错误”更新数据库时

PDO错误:“ SQLSTATE [HY000]:常规错误”更新数据库时

PHP
湖上湖 2019-10-30 12:47:58
使用PDO更新数据库时出现错误。我是PDO的新手,所以问题可能很小,我只是不明白。 关于错误的有趣的是,该命令可以正常运行,并且数据库确实得到了更新。 但是它仍然向我返回错误。码:try {    $stmt = $pdo->prepare("UPDATE $page SET $section = :new_content WHERE $section = '$old_content'");    $stmt->execute(array(        'new_content' => $new_content    ));    $result = $stmt->fetchAll();    echo "Database updated!";}catch(PDOException $e) {    echo 'ERROR UPDATING CONTENT: ' . $e->getMessage();}错误: 错误更新内容:SQLSTATE [HY000]:一般错误我真的不知道问题可能在哪里,因为它非常怪诞,而且我无法找到遇到相同问题的任何人。
查看完整描述

3 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

请注意,发生此错误的另一个可能原因是,如果在现有父$ stmt循环内使用变量$ stmt进行第二次数据库调用。


     $stmt = $conn->query($sql);


    while ($row = $stmt->fetch()) {  //second use of $stmt here inside loop


查看完整回答
反对 回复 2019-10-30
?
aluckdog

TA贡献1847条经验 获得超7个赞

$old_content对我来说将是一个大危险信号。进入查询字符串的任何动态数据都可能有害。仅仅因为您将其从数据库中拔出并不意味着它是安全的。例如考虑像update users set name='Miles T. O\'Brien' where name='Miles O'Brien';。您转义了新近更新的名称,但是从数据库中拉起了原始名称,现在,您已经为自己注入了语法错误。

查看完整回答
反对 回复 2019-10-30
  • 3 回答
  • 0 关注
  • 713 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信