English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
mysqli_stmt_errno()関数は、最後に実行されたステートメント呼び出しのエラーコードを返します。
mysqli_stmt_errno()関数は、最後に実行されたクエリ中に発生したエラーコードを返します。
mysqli_stmt_errno($stmt)
序号 | パラメータ及び説明 |
---|---|
1 | stmt(必須) これは、ステートメントを表すオブジェクトです。 |
PHP mysqli_stmt_errno()関数は、最後に実行されたクエリからエラーコードを表す整数値を返します。エラーがない場合、この関数は0。
この関数は最初にPHPバージョン5に導入され、すべての上位バージョンで使用できます。
以下の例では、mysqli_stmt_errno()関数の使用方法(手続き型スタイル),最後に実行されたクエリで発生したエラーコードを返します
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); mysqli_query($con, "CREATE TABLE myplayers(ID INT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255))"); print("テーブルの作成中.....\n"); mysqli_query($con, "INSERT INTO myplayers values(1, 'Sikhar', 'Dhawan', 'Delhi', 'India')"); print("レコードを挿入中.....\n"); $stmt = mysqli_prepare($con, "SELECT * FROM myplayers"); mysqli_query($con, "DROP TABLE myplayers"); //ステートメントを実行 mysqli_stmt_execute($stmt); //エラーコード $code = mysqli_stmt_errno($stmt); print("エラーコード: ".$code); //ステートメントを終了 mysqli_stmt_close($stmt); //接続を閉じる mysqli_close($con); ?>
結果の出力
テーブルの作成中..... レコードを挿入中..... Error Code: 1146
オブジェクト指向スタイルでは、この関数の構文は以下の通りです$stmt-> errno。以下は、オブジェクト指向スタイルのこの関数の例です-
<?php //接続の確立 $con = new mysqli("localhost", "root", "password", "mydb"); $con -> クエリ「CREATE TABLE myplayers(ID INT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255))"); print("テーブルの作成中.....\n"); $con -> クエリ「INSERT INTO myplayers values(1, 'Sikhar', 'Dhawan', 'Delhi', 'India')"); print("レコードを挿入中.....\n"); $stmt = $con ->prepare("SELECT * FROM myplayers"); $con ->query("DROP TABLE myplayers"); //ステートメントを実行 $stmt->execute(); //エラーコード $code = $stmt ->errno; print("エラーコード: ".$code); //ステートメントを終了 $stmt->close(); //接続を閉じる $con->close(); ?>
結果の出力
テーブルの作成中..... レコードを挿入中..... エラーコード: 1146
最後に実行したステートメントオブジェクトにエラーがない場合、この関数は次を返します0 :
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); mysqli_query($con, "CREATE TABLE myplayers(ID INT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255))"); print("テーブルの作成中.....\n"); query = "INSERT INTO myplayers values("1, 'Sikhar', 'Dhawan', 'Delhi', 'India'), (2, 'Jonathan', 'Trott', 'Cape Town', 'South Africa'), (3, 'Kumara', 'Sangakkara', 'Matale', 'Sri Lanka')"; //プレースホルダー文 $stmt = mysqli_prepare($con, $query); //ステートメントを実行 mysqli_stmt_execute($stmt); print("レコードを挿入中.....\n"); //エラーコード $code = mysqli_stmt_errno($stmt); print("エラーコード: ".$code); //ステートメントを終了 mysqli_stmt_close($stmt); //接続を閉じる mysqli_close($con); ?>
結果の出力
テーブルの作成中..... レコードを挿入中..... エラーコード: 0