PDO捕获异常的问题
class sql extends \PDO
{
public $error;
public function __construct()
{
$this->error = NULL;
$database = conf::all( 'database.conf' , NULL );
try
{
parent::__construct( $database['DSN'] , $database['MYSQLNAME'] , $database['MYSQLPASS'] , $database['OPTION'] );
parent::query( "set names utf8" );
}
catch ( \PDOException $e )
{
die( $e->getMessage() );
}
}
public function crt( $table , $paramArr )
{
$column = $paramArr['column'];
$value = $paramArr['value'];
$bind = $paramArr['bind'];
$len = count( $bind );
try
{
$sql = "insertsss into $table($column) values($value)";
$preObj = $this->prepare( $sql );
for ( $i = 0; $i < $len; $i++ )
{
$preObj->bindParam( $i+1 , $bind[$i] );
}
$preObj->execute();
$res = $this->lastInsertId();
}
catch ( \PDOException $e )
{
die( $e->getMessage() );
}
\common\p(”pdo怎么玩“);exit;
return $res && $this->error == NULL ? TRUE : FALSE;
}
故意把sql写错为什么没有报错,输出了”pdo怎么玩“?
\common\p($this->errorInfo());exit;
errorInfo()永远是
Array
(
[0] => 00000
[1] =>
[2] =>
)
初始化那个方法里 如果改错配置,能够正常抛出异常,但是crt方法里不知道为什么没反应?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
设置这个
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);