$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的错误,具体的情况你可以自己去查更详细的资料
添加回答
举报
0/150
提交
取消