PDO errorCode 不适用于准备
$sql = "dSELECT * FROM users";
$dbQuery = $this->dbal->query($sql);
$dbError = $this->dbal->errorInfo();
$dbError 获取语法错误信息。
如果同样用于准备好的语句,则准备后不会返回任何错误。
此代码来自 php.net
<?php
/* Provoke an error -- bogus SQL syntax */
$stmt = $dbh->prepare('bogus sql');
if (!$stmt) {
echo "\nPDO::errorInfo():\n";
print_r($dbh->errorInfo());
}
ErrorInfo 不能以这种方式工作。 我用
$dbQuery = $this->dbal->prequery($sql);
$dbError = $dbQuery->errorInfo(); // $this->dbal->errorInfo(); doesn't work, too.
$sql = "dSELECT * FROM users";
$dbQuery = $this->dbal->query($sql);
$dbError = $this->dbal->errorInfo();
$dbError gets the syntax error information.
If the same is used for prepared statement it doesn't return any error after prepare.
This code is from php.net
<?php
/* Provoke an error -- bogus SQL syntax */
$stmt = $dbh->prepare('bogus sql');
if (!$stmt) {
echo "\nPDO::errorInfo():\n";
print_r($dbh->errorInfo());
}
ErrorInfo doesn't work in this way.
I use
$dbQuery = $this->dbal->prequery($sql);
$dbError = $dbQuery->errorInfo(); // $this->dbal->errorInfo(); doesn't work, too.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
手册说:
这意味着失败时您没有对象:您有一个布尔值
FALSE
。尝试将 PDO 错误处理 更改为
PDO:: ERRMODE_EXCEPTION
。The manual says:
That means that you don't have an object when it fails: you have a boolean
FALSE
.Try changing the PDO error handling to
PDO::ERRMODE_EXCEPTION
.