mysqli_stmt::$errno
mysqli_stmt_errno
(PHP 5, PHP 7)
mysqli_stmt::$errno -- mysqli_stmt_errno — 直近のステートメントのコールに関するエラーコードを返す
説明
オブジェクト指向型
int $mysqli_stmt->errno
;
手続き型
mysqli_stmt_errno
( mysqli_stmt $stmt
) : int
直近に実行されたステートメントが 成功あるいは失敗した際のエラーコードを返します。
クライアントのエラーメッセージ番号は MySQL の errmsg.h
ヘッダファイルで、そしてサーバーのエラーメッセージ番号は mysqld_error.h
で定義されています。MySQL のソース配布の中には、エラーメッセージの
完全なリストが Docs/mysqld_error.txt
に含まれています。
返り値
エラーコードの値を返します。ゼロはエラーが発生しなかったことを示します。
例
例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(); printf("Error: %d.\n", $stmt->errno); /* ステートメントを閉じます */ $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); printf("Error: %d.\n", mysqli_stmt_errno($stmt)); /* ステートメントを閉じます */ mysqli_stmt_close($stmt);}/* 接続を閉じます */mysqli_close($link);?>
上の例の出力は以下となります。
Error: 1146.
参考
- mysqli_stmt_error() - 直近のステートメントのエラー内容を文字列で返す
- mysqli_stmt_sqlstate() - 直前のステートメントの操作での SQLSTATE エラーを返す