【发布时间】:2019-08-27 20:41:23
【问题描述】:
我正在使用 PHP 向表中插入数据,并想了解 SQL 是否正常工作,以便显示成功消息。有没有办法在语句执行后将 SQL 的成功返回给 PHP。
function addPlayer($playerName, $dateOfBirth, $team) {
$sql = "INSERT INTO players VALUES (DEFAULT, :name, :teamID, :dob)";
$stmt = $this->connection->conn->prepare($sql);
$stmt->bindParam(":name", $playerName);
$stmt->bindParam(":dob", $dateOfBirth);
$stmt->bindParam(":teamID", $team);
$stmt->execute();
}
想知道execute语句是否成功,数据是否添加到表中。有没有办法让 SQL 返回成功或失败,以便我可以在页面上显示错误或成功消息?
【问题讨论】:
-
如何设置
PDO::ATTR_ERRMODE选项? -
我自己没有设置任何东西,所以我认为它是默认值。但是,我认为这是因为 PDO 错误没有返回 SQL 查询的成功,因为失败的 SQL 查询可能并不总是抛出 PDO 错误?
-
默认的错误模式是只返回
FALSE而不是抛出错误。建议开启PDO::ERRMODE_EXCEPTION,使用try/catch报错。 -
不,你在生产中肯定需要它,所以如果出现问题脚本会停止。