如何判断PHP PDO中查询何时成功执行?

2022-08-30 16:22:55

如何测试以下查询是否已成功执行?

$STH = $this->_db->prepare("UPDATE UserCreds SET
    VerificationString=:newVerificationString, ExpiryDate=:expiryDate 
    WHERE UserID = :userID;");
$STH->execute($params);

我知道我可以在添加新行时使用,但是 UPDATE 和 SELECT 呢?lastInsertId()


答案 1

成功和失败的回报。executetruefalse

来自文档:

成功时返回 TRUE,失败时返回 FALSE。


因此,您可以确保查询成功运行,如下所示:

if ($STH->execute($params))
{
  // success
}
else
{
  // failure
}

答案 2

execute() 根据查询的成功/失败返回 true/false:

$status = $STH->execute($params);

if ($status) {
   echo 'It worked!';
} else {
   echo 'It failed!';
}

一个注意:不返回任何行的选择查询不是失败。这是一个完全有效的结果,只是碰巧没有结果。


推荐