当前位置: 首页 > 面试题库 >

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

薛华容
2023-03-14
问题内容

使用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]:一般错误

我真的不知道问题可能在哪里,因为它非常怪诞,而且我无法找到遇到相同问题的任何人。


问题答案:

您不使用fetchAll(),如

$result = $stmt->fetchAll();

与更新或插入查询。删除此语句应纠正此问题。



 类似资料:
  • 问题内容: 这个问题已经在这里有了答案 : PDO错误:“ SQLSTATE [HY000]:常规错误”更新数据库时 (2个答案) 2年前关闭。 我收到此错误: ..每当我使用PDO执行此代码时: 我不知道为什么会这样。我已经检查了查询,但根本找不到任何错误。 问题答案: 这是发生了什么: 您正在尝试获取UPDATE查询。您不能这样做,因为UPDATE查询不会返回值。如果您想知道该查询影响了多少行

  • 问题内容: 我收到了这个令人讨厌的错误,尽管我知道为什么要得到它,但我终生无法找到解决方案。 查询包含占位符()。但是要添加这些LIMIT占位符,我需要使用手动方法(),因为否则引擎会将它们转换为字符串。 我没有收到无效的参数数量错误,因此所有占位符均已正确绑定(我认为)。 查询: 除最后两个LIMIT(我与之手动绑定)外,所有占位符值均位于$ criteria中。 问题答案: 您不能使用 和 。

  • 我正在使用laravel auth。在注册页面中,用户需要填写姓名、电子邮件和密码才能创建帐户。稍后,用户可以编辑他的个人资料帐户,并插入更多信息,如地址、城市、邮政编码等,但创建帐户只需要它的名字、姓氏、电子邮件和密码。 我使用laravel auth使用下面的代码构建上面的逻辑,但是我在填写表单并单击“创建帐户”后收到错误: SQLSTATE[HY000]:一般错误:1364字段“facebo

  • 致命错误:C:\xampp\htdocs\otakutangerang_admin\C_action.php:33堆栈跟踪:#0 C:\xampp\htdocs\otakutangerang_admin\C_action.php(33):PDO语句中出现未捕获的异常“PDOException”,并显示消息“SQLSTATE[HY093]:参数编号无效”-

  • 问题内容: 我使用下面的代码 来更新查询 使用。 但是我越来越。 我尝试搜索一些SO链接,建议关闭数据库,但是我再次遇到相同的错误。我已经提到我在代码中出现错误的地方。 问题答案: 通常,如果您同时进行多个查询(您没有完成一些早期的SQL语句,或者您打开了多个线程,或者您多次打开了数据库),就会得到此信息。 这段代码对和的使用有些混乱,(和缺少),这可能是问题的根源。 在《 SQLite C /