mirror of
https://github.com/php/php-src.git
synced 2024-11-23 18:04:36 +08:00
Change the default error mode of mysqli
Make MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT the new mysqli error reporting default. Explicitly call mysqli_report(MYSQLI_REPORT_OFF) to preserve previous behavior. RFC: https://wiki.php.net/rfc/mysqli_default_errmode Closes GH-6629.
This commit is contained in:
parent
b82b85709d
commit
5e1056edb6
@ -75,6 +75,11 @@ PHP 8.1 UPGRADE NOTES
|
||||
internally previously.
|
||||
. The MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH option no longer has an effect.
|
||||
. The MYSQLI_STORE_RESULT_COPY_DATA option no longer has an effect.
|
||||
. The default error handling mode has been changed from "silent" to
|
||||
"exceptions". See https://www.php.net/manual/en/mysqli-driver.report-mode.php
|
||||
for details of behavior changes and how to explicitly set this attribute. To
|
||||
keep the old behavior, use mysqli_report(MYSQLI_REPORT_OFF);
|
||||
RFC: https://wiki.php.net/rfc/mysqli_default_errmode
|
||||
|
||||
- MySQLnd:
|
||||
. The mysqlnd.fetch_copy_data ini setting has been removed. However, this
|
||||
|
@ -521,7 +521,7 @@ static PHP_GINIT_FUNCTION(mysqli)
|
||||
mysqli_globals->default_pw = NULL;
|
||||
mysqli_globals->default_socket = NULL;
|
||||
mysqli_globals->reconnect = 0;
|
||||
mysqli_globals->report_mode = 0;
|
||||
mysqli_globals->report_mode = MYSQLI_REPORT_ERROR|MYSQLI_REPORT_STRICT;;
|
||||
mysqli_globals->allow_local_infile = 0;
|
||||
mysqli_globals->local_infile_directory = NULL;
|
||||
mysqli_globals->rollback_on_cached_plink = FALSE;
|
||||
@ -826,7 +826,7 @@ PHP_RINIT_FUNCTION(mysqli)
|
||||
#endif
|
||||
MyG(error_msg) = NULL;
|
||||
MyG(error_no) = 0;
|
||||
MyG(report_mode) = 0;
|
||||
MyG(report_mode) = MYSQLI_REPORT_ERROR|MYSQLI_REPORT_STRICT;
|
||||
|
||||
return SUCCESS;
|
||||
}
|
||||
|
@ -7,6 +7,7 @@
|
||||
*/
|
||||
|
||||
$driver = new mysqli_driver;
|
||||
$driver->report_mode = MYSQLI_REPORT_OFF;
|
||||
|
||||
$host = getenv("MYSQL_TEST_HOST") ?: "127.0.0.1";
|
||||
$port = getenv("MYSQL_TEST_PORT") ?: 3306;
|
||||
|
@ -7,6 +7,7 @@ require_once('skipif.inc');
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
mysqli_report(MYSQLI_REPORT_OFF);
|
||||
$mysqli = new mysqli();
|
||||
@$mysqli->__construct('doesnotexist');
|
||||
$mysqli->close();
|
||||
|
Loading…
Reference in New Issue
Block a user