$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ステートメットにSQLエラーが含まれていると仮定します。上記のコードでは、次のことに気づきました。
コードA
print_r($PDO_db->errorInfo());
とにかく出力します:
Array ( [0] => 00000 [1] => [2] => )
しかし、var_dump($ s)はfalseです
挿入ステートメントにいくつかの
placemark
例があります:name
"Insert into mytable (name) VALUE(:name);"
そして
$arrPar = array(':name' => $value)
、$value=NULL
print_r($PDO_db->errorInfo());
再び出力されます:
Array ( [0] => 00000 [1] => [2] => )
しかし、var_dump($ s)はfalseです
だから私は、エラーの説明を与えるはずのメソッドerrorInfoが静かにエラーを静める場合、PDOでMySQLステートメントをデバッグする正しい方法を知りたいと思っていますか?
PDO::errorInfo()
エラー情報の配列を返します」