直近に実行されたクエリの情報を取得する

# mysqli::$info

# mysqli_info

(PHP 5, PHP 7)

mysqli::$info -- mysqli_info — 直近に実行されたクエリの情報を取得する

### 説明

オブジェクト指向型

string $mysqli->info;

手続き型

mysqli_info ( mysqli `$link` ) : string

mysqli_info() 関数は、直近に実行されたクエリに ついての情報を文字列で返します。文字列の詳細は以下のとおりです。

mysqli_info のとりうる返り値
クエリの型 | 結果文字列の例
--- | ---
INSERT INTO...SELECT... | Records: 100 Duplicates: 0 Warnings: 0
INSERT INTO...VALUES (...),(...),(...) | Records: 3 Duplicates: 0 Warnings: 0
LOAD DATA INFILE ... | Records: 1 Deleted: 0 Skipped: 0 Warnings: 0
ALTER TABLE ... | Records: 3 Duplicates: 0 Warnings: 0
UPDATE ... | Rows matched: 40 Changed: 40 Warnings: 0

> 注意:

> これらのどれにも当てはまらない形式のクエリはサポートされません。 そのような場合、mysqli_info() は空文字列を返します。

### パラメータ

`link`

  手続き型のみ: mysqli_connect() あるいは mysqli_init() が返すリンク ID。

### 返り値

直近に実行されたクエリについての追加情報を文字列で返します。

### 例

例1 $mysqli->info の例

オブジェクト指向型

`<?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 TEMPORARY TABLE t1 LIKE City");
/* INSERT INTO .. SELECT */
$mysqli->query("INSERT INTO t1 SELECT * FROM City ORDER BY ID LIMIT 150");
printf("%s\n", $mysqli->info);
/* 接続を閉じます */
$mysqli->close();
?>`

手続き型

`<?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 TEMPORARY TABLE t1 LIKE City");
/* INSERT INTO .. SELECT */
mysqli_query($link, "INSERT INTO t1 SELECT * FROM City ORDER BY ID LIMIT 150");
printf("%s\n", mysqli_info($link));
/* 接続を閉じます */
mysqli_close($link);
?>`

上の例の出力は以下となります。

    Records: 150  Duplicates: 0  Warnings: 0

### 参考

- mysqli_affected_rows() - 直前の MySQL の操作で変更された行の数を得る
- mysqli_warning_count() - 指定した接続の直近のクエリから発生した警告の数を返す
- mysqli_num_rows() - 結果の行数を取得する