mysqli_stmt::$error_list
mysqli_stmt_error_list
(PHP 5 >= 5.4.0, PHP 7)
mysqli_stmt::$error_list -- mysqli_stmt_error_list — 直近で実行したステートメントからのエラーの一覧を返す
説明
オブジェクト指向型
array $mysqli_stmt->error_list
;
手続き型
mysqli_stmt_error_list
( mysqli_stmt $stmt
) : array
エラーの配列を返します。この配列の内容は、直近で実行したステートメント関数で発生したエラーです。
返り値
エラーの一覧を返します。個々のエラーは連想配列形式で、 errno、error および sqlstate のキーを含みます。
例
例1 オブジェクト指向型
<?php/* 接続を開きます */$mysqli = new mysqli("localhost", "my_user", "my_password", "world");/* 接続を確認します */if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit();}$mysqli->query("CREATE TABLE myCountry LIKE Country");$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");$query = "SELECT Name, Code FROM myCountry ORDER BY Name";if ($stmt = $mysqli->prepare($query)) { /* テーブルを削除します */ $mysqli->query("DROP TABLE myCountry"); /* クエリを実行します */ $stmt->execute(); echo "Error:\n"; print_r($stmt->error_list); /* 接続を閉じます */ $stmt->close();}/* 接続を閉じます */$mysqli->close();?>
例2 手続き型
<?php/* 接続を開きます */$link = mysqli_connect("localhost", "my_user", "my_password", "world");/* 接続を確認します */if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit();}mysqli_query($link, "CREATE TABLE myCountry LIKE Country");mysqli_query($link, "INSERT INTO myCountry SELECT * FROM Country");$query = "SELECT Name, Code FROM myCountry ORDER BY Name";if ($stmt = mysqli_prepare($link, $query)) { /* テーブルを削除します */ mysqli_query($link, "DROP TABLE myCountry"); /* クエリを実行します */ mysqli_stmt_execute($stmt); echo "Error:\n"; print_r(mysql_stmt_error_list($stmt)); /* 接続を閉じます */ mysqli_stmt_close($stmt);}/* 接続を閉じます */mysqli_close($link);?>
上の例の出力は以下となります。
Array ( [0] => Array ( [errno] => 1146 [sqlstate] => 42S02 [error] => Table 'world.myCountry' doesn't exist ) )
参考
- mysqli_stmt_error() - 直近のステートメントのエラー内容を文字列で返す
- mysqli_stmt_errno() - 直近のステートメントのコールに関するエラーコードを返す
- mysqli_stmt_sqlstate() - 直前のステートメントの操作での SQLSTATE エラーを返す