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_OFFDésactive les rapports MYSQLI_REPORT_ERRORRapporte les erreurs depuis les appels aux fonctions mysqli MYSQLI_REPORT_STRICTLance une exception mysqli_sql_exception pour les erreurs, au lieu d'émettre des alertes MYSQLI_REPORT_INDEXRapporte si aucun index ou un mauvais index est utilisé dans une requête MYSQLI_REPORT_ALLDé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
