(PHP 5)
mysqli_report — 内部のレポート関数を有効あるいは無効にする
mysqli_report() は、開発やテストのフェーズにおいて クエリの機能を向上させる強力な関数です。フラグの設定により、この関数は インデックスを使用しない(あるいは間違ったインデックスを使用している) mysqli 関数コールやクエリに対してエラーを報告します。
名前 | 説明 |
---|---|
MYSQLI_REPORT_OFF | レポート機能をオフにします。 |
MYSQLI_REPORT_ERROR | mysqli 関数コールのエラーを報告します。 |
MYSQLI_REPORT_STRICT | エラーが発生したときに、警告を発するのではなく mysqli_sql_exception をスローします。 |
MYSQLI_REPORT_INDEX | クエリでインデックスを使用しない (あるいは 間違ったインデックスを使用している) 場合に報告します。 |
MYSQLI_REPORT_ALL | すべてのオプションを設定します(report all)。 |
成功した場合に TRUE を、失敗した場合に FALSE を返します。
バージョン | 説明 |
---|---|
5.2.15 & 5.3.4 | レポートモードをリクエスト単位で変更できるようになりました。 これまではプロセス単位でしか変更できませんでした。 |
オブジェクト指向型
<?php
/* レポート機能を有効にします */
mysqli_report(MYSQLI_REPORT_ALL);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* 接続状況をチェックします */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
/* このクエリはエラーを報告します */
$result = $mysqli->query("SELECT Name FROM Nonexistingtable WHERE population > 50000");
/* このクエリは警告を発生させます */
$result = $mysqli->query("SELECT Name FROM City WHERE population > 50000");
$result->close();
$mysqli->close();
?>