加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何防止显示PDO错误?

发布时间:2020-12-13 21:41:22 所属栏目:PHP教程 来源:网络整理
导读:当PDO execute()出错时,由于某种原因输出错误? 我如何防止….我想将错误存储到$data [‘error’] if (!$query-execute()) { $data['success'] = 'false'; echo json_encode($data); return;} 从控制台日志: br /bWarning/b: PDOStatement::execute() [a hr
当PDO execute()出错时,由于某种原因输出错误?

我如何防止….我想将错误存储到$data [‘error’]

if (!$query->execute()) {
             $data['success'] = 'false';
             echo json_encode($data);
             return;
}

从控制台日志:

<br />
<b>Warning</b>:  PDOStatement::execute() [<a href='pdostatement.execute'>pdostatement.execute</a>]: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in <b>C:wampwwwsiteapplicationcontrollerContactController.php</b> on line <b>101</b><br />
{"success":"false"}

解决方法

要结合其他两个anwsers所说的内容,首先将PDO设置为使用异常而不是php错误:

$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

然后使用try … catch块来处理任何错误.

$db->beginTransaction();
try{
  /* Do your database things here */
}
catch(Exception $e){
  $db->rollBack();
  return;
}
$db->commit();
return;

您还可以设置自己的php错误处理程序,该处理程序可用于记录文件中的所有错误而不显示任何内容.
请参阅php文档:http://php.net/manual/en/function.set-error-handler.php

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读