$PDO_db = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME.';charset=UTF-8' , DB_USER, DB_PWD);
$sth = $PDO_db->prepare($insert);
$arrPar = array(':nome' => $nome);
$r = $sth->execute($arrPar);
var_dump($arrPar);
print_r($PDO_db->errorInfo());
var_dump($r);
exit();
假设 $insert statemet 包含一个 SQL 错误,上面的代码我注意到以下内容:
代码 A
print_r($PDO_db->errorInfo());
无论如何都会输出:
Array ( [0] => 00000 [1] => [2] => )
但 var_dump($s) 是假的
如果在插入语句中我有一些
placemark
例如:name
"Insert into mytable (name) VALUE(:name);"
然后在
$arrPar = array(':name' => $value)
with$value=NULL
print_r($PDO_db->errorInfo());
将再次输出:
Array ( [0] => 00000 [1] => [2] => )
但 var_dump($s) 是假的
所以我想知道使用 PDO 调试 MySQL 语句的正确方法是什么?
PDO::errorInfo()
返回错误信息数组"