我有一个非常简单的 UPDATE 查询,当我在 PHPMyAdmin 中执行它时它可以工作(所以它不是 SQL 语法错误)。但是,当我尝试使用 PHP PDO 执行查询时,没有显示任何错误,并且没有一行受到查询的影响。
我有错误报告设置是这样的:PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION。但没有显示错误。我的 PHP 代码如下所示:
try {
$sql = "UPDATE user
SET username = :username,
activation_token = :activation_token,
activation_date_time = :activation_date_time,
activation_status = :activation_status
WHERE activation_token = :current_activation_token";
$stmt = $dbh->get_instance()->prepare($sql);
$stmt->bindParam(':username', $username, PDO::PARAM_STR);
$stmt->bindParam(':activation_token', $empty_activation_token, PDO::PARAM_STR);
$stmt->bindParam(':activation_date_time', $datetime, PDO::PARAM_STR);
$stmt->bindParam(':activation_status', $active_status, PDO::PARAM_STR);
$stmt->bindParam(':current_activation_token', $activation_token, PDO::PARAM_STR);
$stmt->execute();
echo 'username: ' . $username;
}
catch(PDOException $e) {
echo $e;
}
Run Code Online (Sandbox Code Playgroud)
我还检查了我是否以某种方式使用了保留关键字或类似的东西,但我很确定事实并非如此。为什么这不起作用?