为了账号安全,请及时绑定邮箱和手机立即绑定

在线等!当 mysqli 語句失败时的當下处理?谢谢哈~

在线等!当 mysqli 語句失败时的當下处理?谢谢哈~

白衣染霜花 2019-08-17 10:23:36
$do=newmysqli($servername,$username,$password,$mysqldb);$do->query("INSERTINTO`XXX`(`add_time`,`session`,`name`,`url`,`content`)VALUES('{$add_time}','{$sessionByName}','{$name}','{$url}','{$content}')");最近遇到一个问题,当語句失败后,下面的事情就都不做了而且不会知道失败的原因可能是我数据库少了个栏位,或是语句多个栏位或者有错字导致前端的资料就会跟着不见如果出现这种事情,能否可以得到判断,假设语句执行失败,我可以做备份动作?或是其他行为
查看完整描述

2 回答

?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

可以使用php的异常处理
try{
//try代码块的代码执行错误后会抛出异常
$do=newmysqli($servername,$username,$password,$mysqldb);
$do->query('xxx');
}catch(Exception$e){
//这里的$e就是捕捉到上面try代码块抛出的错误异常
//$e中包含错误信息,使用$e->getMessage()可以获取错误描述,$e->getCode()获取错误码
//catch代码块一般用来处理正常逻辑失败后的错误处理,比如打log之类的
}
另外,php的异常有点特别,php中的不正常运行终止大致分两种类型,一种是错误,一种就是异常,由于历史原因,php很多自带的函数是不抛异常而是报错误的,即无法使用try...catch来处理这种情况,但是php7新增了throwable可以捕捉到php的错误,具体的情况你可以自己去查更详细的资料
                            
查看完整回答
反对 回复 2019-08-17
  • 2 回答
  • 0 关注
  • 293 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信