我们在使用PDO去执行sql语句的时候并不会报错.如下案例所示:
getmessage();} echo $pdo->exec("insert into aaaa values(aaa)");//此处sql语句故意写错。 ?>
但返回的结果是一篇空白,也就是说sql语句执行错误了我们并不知道,这样是不行的,极大的影响了工作。那么这时候我们就需要自己写一个错误让他来报错。
我们需要借助$pdo->errorcode以及$pdo->errorinfo
getmessage();} echo "PDO对象创建成功."; $sql = $pdo -> exec("insert inssssto users(gold,user,password) values(7,'hello','world')"); if(!$sql){ echo $pdo->errorcode(); echo ""; print_r($pdo->errorinfo()); exit; } echo "sql语句执行成功。"; ?>
显示效果如下图所示:
sql语句刻意写错了的。当然了我们也可以使用try catch
getmessage();} echo "PDO对象创建成功."; $sql = $pdo -> exec("insert inssssto users(gold,user,password) values(7,'hello','world')"); if(!$sql){ echo $pdo->errorcode(); echo ""; print_r($pdo->errorinfo()); exit; } echo "sql语句执行成功。"; ?>
PDO执行sql语句:
其实上面的案例当中已经涉及,就是exec,但还有一个为:query。
二者的差异:
Exec用来处理非结果集的 比如insert update create等 且该还返回影响行数.
Query 用来处理结果集的 比如select desc show等.
但其实这两种都不是常用的语句。因为还有比query和exec更好的。详情可看: