English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP 基礎チュートリアル

PHP 高級チュートリアル

PHP & MySQL

PHP リファレンスマニュアル

PHP mysqli_error_list() 関数の使用法および例

PHP MySQLi 参考手帳

mysqli_error_list()関数は最後に呼び出された関数のエラーリストを返します。

定義および用法

mysqli_error_list()関数は最後の MySQLi ファンクション呼び出し中に発生したエラーリストを返します。

文法

mysqli_error_list($con)

パラメータ

序号パラメータ及び説明
1

con(必須)

これはMySQL Serverとの接続を表すオブジェクトです。

返り値

PHP mysqli_error_list()関数は、最後のステートメントの実行中に発生したエラーリストを返します(各エラーは配列として)。

PHPバージョン

この関数は最初にPHPバージョン5から導入され、すべての上位バージョンで使用できます。

オンラインサンプル

以下はその使い方の例を示していますmysqli_error_list()関数の使い方(手続き型スタイル)-

<?php
   //接続を確立
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   mysqli_query($con, "CREATE TABLE Test(Name VARCHAR(10), AGE INT)");
   //クエリを実行
   $query = "INSERT into Test values('Raju', 25),('Rahman', 30),('Sri Rama Chandra Murthi', 25)";
   mysqli_query($con, $query);
   //エラー
   $list = mysqli_error_list($con);
   print_r($list);
   //接続を閉じる
   mysqli_close($con);
?>

出力結果

配列
(
    [0] => 配列
        (
            [errno] => 1406
            [sqlstate] => 22001
            [エラー] => 'Name'カラムで行の'Length'が長すぎます 3
        )
)

オンラインサンプル

オブジェクト指向のスタイルでは、この関数の文法は以下の通りです$con->error_list。以下はその関数のオブジェクト指向スタイルの例です-

<?php
   //接続を確立
   $con = new mysqli("localhost", "root", "password", "mydb");
   //employeeテーブルのすべての行を検索するクエリ
   $con -> query("SELECT * FROM wrong_table_name");
  
   //Error 
   $list = $con->error_list;
   print_r($list);
   //接続を閉じる
   $con -> close();
?>

出力結果

配列
(
    [0] => 配列
        (
            [errno] => 1146
            [sqlstate] => 42S02
            [エラー] => テーブル'mydb.wrong_table_name'は存在しません
        )
)

オンラインサンプル

仮にemployeeという名前のテーブルがあり、以下のような内容を持っていると仮定します:

mysql> select * from employee;
+------------+--------------+------+------+--------+
| FIRST_NAME | LAST_NAME    | AGE  | SEX  | INCOME |
+------------+--------------+------+------+--------+
| Vinay      | Bhattacharya |   20 | M    |  16000 |
| Sharukh    | Sheik        |   25 | M    |  13300 |
| Trupthi    | Mishra       |   24 | F    |  31000 |
| Sheldon    | Cooper       |   25 | M    |   2256 |
| Sarmista   | Sharma       |   28 | F    |  15000 |
+------------+--------------+------+------+--------+
5 セット内の行数 (0.06 sec)

以下に示しますmysqli_error_list()関数の別の例-

<?php
   //接続を確立
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   //employeeテーブルのすべての行を選択するためのクエリ
   mysqli_query($con, "SELECT * FROM employee");
   $list = mysqli_error_list($con);
   print_r($list);
   //Employeeテーブルの行を更新するためのクエリ
   mysqli_query($con, "UPDATE employee set INCOME=INCOME+5000 where FIRST_NAME in (*)");
   $list = mysqli_error_list($con);
   print_r($list);
   //employeeテーブルに一行を挿入するためのクエリを検索
   mysqli_query($con, "INSERT INTO employee VALUES (Archana, 'Mohonthy', 30, 'M', 13000, 106)");
   $list = mysqli_error_list($con);
   print_r($list);
   //接続を閉じる
   mysqli_close($con);
?>

出力結果

配列
(
)
配列
(
    [0] => 配列
        (
            [errno] => 1064
            [sqlstate] => 42000
            [エラー] => あなたのSQL文にエラーがあります;使用する正しい構文については、あなたのMySQLサーバーのバージョンに対応するマニュアルを確認してください*)' at line 1
        )
)
配列
(
    [0] => 配列
        (
            [errno] => 1136
            [sqlstate] => 21S01
            [エラー] => 列の数が行の値の数と一致しません 1
        )
)

PHP MySQLi 参考手帳