mysqli::$info

mysqli_info

(PHP 5, PHP 7)

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

説明

オブジェクト指向型

手続き型

string mysqli_info ( mysqli $link )

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

参考

add a note add a note

User Contributed Notes 2 notes

up
21
user at biglake dot com
7 years ago
Might save someone some time...

<?php
$prototype
='Rows matched: 0 Changed: 1 Warnings: 2';
list(
$matched, $changed, $warnings) = sscanf($prototype, "Rows matched: %d Changed: %d Warnings: %d");
?>
up
-1
vzverev [at] newmail.ru (Vasiliy Zverev)
6 months ago
If inserted just one row, mysqli_info() returns empty string which might be confusing, but mysqli_affected_rows() returns 1 in this case.
To Top