如何测试以查看以下查询是否成功执行?
$STH = $this->_db->prepare("UPDATE UserCreds SET
VerificationString=:newVerificationString, ExpiryDate=:expiryDate
WHERE UserID = :userID;");
$STH->execute($params);
Run Code Online (Sandbox Code Playgroud)
我知道我可以lastInsertId()在添加新行时使用,但是UPDATE和SELECT呢?
Sar*_*raz 39
成功和失败的execute回报.truefalse
成功时返回TRUE,失败时返回FALSE.
因此,您可以确保查询成功运行,如:
if ($STH->execute($params))
{
// success
}
else
{
// failure
}
Run Code Online (Sandbox Code Playgroud)
Mar*_*c B 16
execute()根据查询的成功/失败返回true/false:
$status = $STH->execute($params);
if ($status) {
echo 'It worked!';
} else {
echo 'It failed!';
}
Run Code Online (Sandbox Code Playgroud)
一个注意事项:没有返回任何行的选择查询不是失败的.这是一个完全有效的结果,恰好没有结果.
小智 6
只是我可以计算受影响的行数:
$stmt->execute();
$count = $stmt->rowCount();
if($count =='0'){
echo "Failed !";
}
else{
echo "Success !";
}
Run Code Online (Sandbox Code Playgroud)