此问题在此处已有答案:
Checking for an empty result (PHP, PDO, and MySQL) [duplicate](8个答案)
2天前关闭。
这篇文章是编辑和提交审查2天前。
我有下面的代码和操纵数据库(测试),所以没有更新是可能的,因为没有更多的fk-key来识别数据库记录.但代码给予我一个OK.谁能解释一下为什么,以及如何我可以返回一个错误?我检查了PHPMyAdmin的数据库表,真的什么都没有.
try {
$stmt = $this->pdo->prepare("
UPDATE
tbl_it_bookkeeping
SET
infoBilldate = :infoBilldate,
infoInvoice = :infoInvoice,
infoCostcentre = :infoCostcentre,
infoInvestment = :infoInvestment
WHERE
fk_computer = :fk_computer");
$stmt->execute([
'fk_computer' => $computerID,
'infoBilldate' => $infoBilldate,
'infoInvoice' => $infoInvoice,
'infoCostcentre' => $infoCostcentre,
'infoInvestment' => $infoInvestment
]);
}
catch (Exception $ex) {
echo $ex; exit;
}
编辑:因为这是关闭:这个问题与try/catch有关。其他问题则不是。
1条答案
按热度按时间mxg2im7a1#
异常仅在错误发生时抛出,
UPDATE
影响0行并不一定总是意味着有错误。相反,您应该使用PDOStatement::rowCount
来获取受执行语句影响的行数,如下所示:您可以在the PHP documentation here中阅读更多关于此方法的信息。