PHP MySQL:Try/Catch 在更新数据库条目时不起作用

问题描述 投票:0回答:1

我有以下代码并操作数据库(用于测试),因此无法更新,因为没有更多的 fk-key 来识别数据库记录。 但是代码给我一个确定。谁能解释为什么,以及我如何返回错误? 我用 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;
}
php mysql try-catch
1个回答
0
投票

异常仅在发生错误时抛出,影响 0 行的

UPDATE
不一定总是意味着有错误。相反,您应该使用
PDOStatement::rowCount
来获取受执行语句影响的行数,如下所示:

if ($stmt->rowCount() == 0) {
    // no rows affected
}

您可以在此处的 PHP 文档中阅读有关此方法的更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.