©
Ce document utilise Manuel du site Web PHP chinois Libérer
(PHP 5)
mysqli_driver::$report_mode -- mysqli_report — Enables or disables internal report functions
面向对象风格
过程化风格
$flags
)A function helpful in improving queries during code development and testing. Depending on the flags, it reports errors from mysqli function calls or queries that don't use an index (or use a bad index).
flags
Name | Description |
---|---|
MYSQLI_REPORT_OFF | Turns reporting off |
MYSQLI_REPORT_ERROR | Report errors from mysqli function calls |
MYSQLI_REPORT_STRICT | Throw mysqli_sql_exception for errors instead of warnings |
MYSQLI_REPORT_INDEX | Report if no index or bad index was used in a query |
MYSQLI_REPORT_ALL | Set all options (report all) |
成功时返回 TRUE
, 或者在失败时返回 FALSE
。
版本 | 说明 |
---|---|
5.3.4 | Changing the reporting mode is now be per-request, rather than per-process. |
5.2.15 | Changing the reporting mode is now be per-request, rather than per-process. |
Example #1 面向对象风格
<?php
$mysqli = new mysqli ( "localhost" , "my_user" , "my_password" , "world" );
if ( mysqli_connect_errno ()) {
printf ( "Connect failed: %s\n" , mysqli_connect_error ());
exit();
}
$driver = new mysqli_driver ();
$driver -> report_mode = MYSQLI_REPORT_ALL ;
try {
$result = $mysqli -> query ( "SELECT Name FROM Nonexistingtable WHERE population > 50000" );
$result = $mysqli -> query ( "SELECT Name FROM City WHERE population > 50000" );
$result -> close ();
$mysqli -> close ();
} catch ( mysqli_sql_exception $e ) {
echo $e -> __toString ();
}
?>
Example #2 过程化风格
<?php
mysqli_report ( MYSQLI_REPORT_ALL );
$link = mysqli_connect ( "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" );
mysqli_free_result ( $result );
mysqli_close ( $link );
?>