mysqli_driver::$report_mode
mysqli_report
(PHP 5)
mysqli_driver::$report_mode -- mysqli_report — Active ou désactive les fonctions de rapport interne
Description
Style orienté objet
Style procédural
Fonction utile pour améliorer les requêtes durant le développement du code ainsi que lors des tests. Suivant les drapeaux fournis, elle rapporte les erreurs depuis les appels aux fonctions MySQLi, ou depuis les requêtes qui n'utilisent pas d'index (ou utilise un mauvais index).
Liste de paramètres
-
flags
-
Drapeaux supportés Nom Description MYSQLI_REPORT_OFF
Désactive les rapports MYSQLI_REPORT_ERROR
Rapporte les erreurs depuis les appels aux fonctions mysqli MYSQLI_REPORT_STRICT
Lance une exception mysqli_sql_exception pour les erreurs, au lieu d'émettre des alertes MYSQLI_REPORT_INDEX
Rapporte si aucun index ou un mauvais index est utilisé dans une requête MYSQLI_REPORT_ALL
Défini toutes les options (rapporte tout)
Valeurs de retour
Cette fonction retourne TRUE
en cas de
succès ou FALSE
si une erreur survient.
Historique
Version | Description |
---|---|
5.3.4 | Modification du mode de reporting : il est maintenant pour chaque requête, plutôt que pour chaque processus. |
5.2.15 | Modification du mode de reporting : il est maintenant pour chaque requête, plutôt que pour chaque processus. |
Exemples
Exemple #1 Style orienté objet
<?php $mysqli = new mysqli("localhost", "my_user", "my_password", "world"); /* Vérification de la connexion */ if (mysqli_connect_errno()) { printf("Echec de la connexion : %s\n", mysqli_connect_error()); exit(); } /* Activation du reporting */ $driver = new mysqli_driver(); $driver->report_mode = MYSQLI_REPORT_ALL; try { /* cette requête devrait rapporter une erreur */ $result = $mysqli->query("SELECT Name FROM Nonexistingtable WHERE population > 50000"); /* cette requête devrait rapporter un mauvais index */ $result = $mysqli->query("SELECT Name FROM City WHERE population > 50000"); $result->close(); $mysqli->close(); } catch (mysqli_sql_exception $e) { echo $e->__toString(); } ?>
Exemple #2 Style procédural
<?php /* Activation du reporting */ mysqli_report(MYSQLI_REPORT_ALL); $link = mysqli_connect("localhost", "my_user", "my_password", "world"); /* Vérification de la connexion */ if (mysqli_connect_errno()) { printf("Echec de la connexion : %s\n", mysqli_connect_error()); exit(); } /* cette requête devrait rapporter une erreur */ $result = mysqli_query("SELECT Name FROM Nonexistingtable WHERE population > 50000"); /* cette requête devrait rapporter un mauvais index */ $result = mysqli_query("SELECT Name FROM City WHERE population > 50000"); mysqli_free_result($result); mysqli_close($link); ?>
Voir aussi
- mysqli_debug() - Effectue des actions de déboguage
- mysqli_dump_debug_info() - Écrit les informations de déboguage dans les logs
- mysqli_sql_exception
- set_exception_handler() - Définit une fonction utilisateur de gestion d'exceptions
- error_reporting() - Fixe le niveau de rapport d'erreurs PHP