(PHP 5, PHP 7)
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);
?>