[英]check statement error pdo
我正在使用此构造来检查为什么不执行语句的错误:
$value1 = $username;
$value2 = $firstname;
$value3 = $lastname;
$sql = "INSERT INTO table (row1, row2, row3) VALUES (?, ? , ?)";
try {
$stmt = $dbh->prepare($sql);
$stmt->bindParam(1, $value1);
$stmt->bindParam(2, $value2);
$stmt->bindParam(3, $value3);
$stmt->execute();
} catch(PDOException $e) {
$var .= $e->getMessage();
}
include 'log.php';
log.php:
$logfile = fopen("logfile.txt", "a");
$error = date("d.m.Y H:i:s")." - ".$var.".\r\n";
fwrite($logfile, $error);
fclose($logfile);
我的数据库中没有插入,并且我的log.php也为空,所以我无法保存错误,有人可以帮助我吗? 问候
我不知道为什么PDO错误会引起PHP用户如此独特的关注。 您将永远不会看到如此精心的包含或图像处理。 但是由于某些原因,PDO语句始终会受到特殊对待。
虽然绝对没有PDO错误的特殊之处。 这与任何其他错误完全相同,并且不需要以任何特殊方式处理PDO错误。 如果找不到文件-PHP将记录该错误。 如果PDO查询失败-PHP也会记录该错误 。 只是告诉PHP这样做。
ini_set('log_errors', 1);
是你所需要的全部。 然后运行您的代码并记录错误
$sql = "INSERT INTO table (row1, row2, row3) VALUES (?, ? , ?)";
$stmt = $dbh->prepare($sql);
$stmt->execute(array($username, $firstname, $lastname));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.