Php 为什么execute()PDO函数返回false?

Php 为什么execute()PDO函数返回false?,php,Php,由于某种原因,我正在做一个待办事项列表,我无法更新我的数据库,因为我的$stmt正在执行false。如果返回false,则说明您的代码有问题。确保正确设置PDO。最好是打印错误消息,以便知道消息内容 请尝试输入此代码,以便您知道错误是什么 $stmt->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_异常) 这意味着您的请求失败了:您应该将这些变量绑定到一个准备好的语句,而不是直接将它们包含在查询中。尝试放置$dbh->setAttribute(PDO::

由于某种原因,我正在做一个待办事项列表,我无法更新我的数据库,因为我的
$stmt
正在执行false。

如果返回false,则说明您的代码有问题。确保正确设置PDO。最好是打印错误消息,以便知道消息内容

请尝试输入此代码,以便您知道错误是什么


$stmt->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_异常)

这意味着您的请求失败了:您应该将这些变量绑定到一个准备好的语句,而不是直接将它们包含在查询中。尝试放置
$dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_异常)连接后,确保在出现问题时抛出异常,这将帮助您调试此问题。我猜变量是字符串。SQL中的字符串需要被引用。最好按照预期使用准备好的语句,参数化
public function updateTodo($iSequence, $aTodo)
{
    //@TODO

    $sTodo = $aTodo['todo'];
    $stmt = $this->oConnection->prepare("UPDATE t_todolist 
        SET todo = $sTodo 
        WHERE sequence = $iSequence");

    $stmt->execute();
}