$st = $this->pdo->prepare("$tablename ($field) の値($code) に挿入");
$st->execute($arr); >pdo->errorCode() != '00000')test($this->pdo->errorInfo());
return $this->pdo->lastInsertId();
意図的に空にできないフィールドには null 値が与えられ、上記のコードの実行後にエラーは取得されません (errorCode() も出力 = '00000') が、pdo->lastInsertId() は 0 を返し、データベースを開きます。確認したところ、新しいレコードは正常に追加されませんでした。この種の PDO 前処理 SQL に対してエラー メッセージを取得するにはどうすればよいですか?
if ($st->errorCode() != '00000') test($st->errorInfo());
または $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION)
例外処理を使用します
try { .... $st->execute($arr); ....} catch (PDOException $e) { print "Error!: " . $e->getMessage() . "\n";}