Seems not clear but flags *could be combined*, as per other flags.
For example:
<?php
# wannabe noticed about all errors except those about indexes
$driver = new mysqli_driver();
$driver->report_mode = MYSQLI_REPORT_ALL & ~MYSQLI_REPORT_INDEX;
?>
(PHP 5, PHP 7, PHP 8)
mysqli_driver::$report_mode -- mysqli_report — Habilita o desabilita las funciones internas de notificación
Estilo orientado a objetos
Estilo por procedimientos
Una función útil para mejorar consultas durante el desarrollo de código y pruebas. Dependiendo de las banderas, notifica errores desde llamadas a funciones de mysqli o consultas que no usan un índice (o usan uno erróneo).
flags
Nombre | Descripción |
---|---|
MYSQLI_REPORT_OFF |
Desactiva la notificación |
MYSQLI_REPORT_ERROR |
Notifica errores desde llamadas a funciones de mysqli |
MYSQLI_REPORT_STRICT |
Lanza una mysqli_sql_exception para errors en lugar de para advertencias |
MYSQLI_REPORT_INDEX |
Notifica si no se usó un índice o si era erróneo en una consulta |
MYSQLI_REPORT_ALL |
Establece todas las opciones (notifica todo) |
Devuelve true
en caso de éxito o false
en caso de error.
Versión | Descripción |
---|---|
5.3.4 | El cambio de modo de notificación ahora es por solicitud, en vez de por proceso. |
5.2.15 | El cambio de modo de notificación ahora es por solicitud, en vez de por proceso. |
Ejemplo #1 Estilo orientado a objetos
<?php
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");
/* verificar la conexión */
if (mysqli_connect_errno()) {
printf("Falló la conexión: %s\n", mysqli_connect_error());
exit();
}
/* activar la notificación */
$controlador = new mysqli_driver();
$controlador->report_mode = MYSQLI_REPORT_ALL;
try {
/* esta consulta debería notificar un error */
$resultado = $mysqli->query("SELECT Name FROM Nonexistingtable WHERE population > 50000");
/* esta consulta debería notificar un índice erróneo */
$resultado = $mysqli->query("SELECT Name FROM City WHERE population > 50000");
$resultado->close();
$mysqli->close();
} catch (mysqli_sql_exception $e) {
echo $e->__toString();
}
?>
Ejemplo #2 Estilo por procedimientos
<?php
/* activar la notificación */
mysqli_report(MYSQLI_REPORT_ALL);
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");
/* verificar la conexión */
if (mysqli_connect_errno()) {
printf("Falló la conexión: %s\n", mysqli_connect_error());
exit();
}
/* esta consulta debería notificar un error */
$resultado = mysqli_query("SELECT Name FROM Nonexistingtable WHERE population > 50000");
/* esta consulta debería notificar un índice erróneo */
$resultado = mysqli_query("SELECT Name FROM City WHERE population > 50000");
mysqli_free_result($resultado);
mysqli_close($enlace);
?>
Seems not clear but flags *could be combined*, as per other flags.
For example:
<?php
# wannabe noticed about all errors except those about indexes
$driver = new mysqli_driver();
$driver->report_mode = MYSQLI_REPORT_ALL & ~MYSQLI_REPORT_INDEX;
?>
As a recommendaton on memory management please don't use the objective way your creating an object to specify one property and thats all your doing with it, much more effective both for the parser and for memory to use the proccedual style for setting the report flag.