簡體   English   中英

MySql affected_rows總是為0,但UPDATE有效

[英]MySql affected_rows always 0 but UPDATE works

以下代碼總是記錄affected_rows為0.我檢查我的數據庫,每次都更新行。 為什么是0?

public static function updateNextRunTime($nextRunTime)
    {
        $mysqli = new mysqli(GDB_HOST, GDB_USERNAME, GDB_PASSWORD, GDB_NAME);

        if ($mysqli->connect_errno)
        {
            throw new Exception('DB Connection Failed. Error Code: ' . $mysqli->connect_errno);
        }

        $cmd = $mysqli->prepare("UPDATE balanceagent SET NextRunTime = ? WHERE Id = 1");
        if (!$cmd)
        {
            throw new Exception($mysqli->error);
        }

        $cmd->bind_param('s', $nextRunTime);
        $cmd->execute();

        $rows = $mysqli->affected_rows;

        $cmd->close();
        $mysqli->close();

        if ($rows != 1)
        {
            logToFile("Balance Agent Error - Failed to update the next run time! - Affected rows: " . $rows);
        }
    }

你應該檢查$cmd->affected_rows; 而不是$mysqli->affected_rows;

對於准備語句,您應該使用mysqli_stmt :: affected_rows表單:

$cmd->bind_param('s', $nextRunTime);
$cmd->execute();

$rows = $cmd->affected_rows;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM