PHP 8.4.2 Released!

mysqli::get_warnings

mysqli_get_warnings

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

mysqli::get_warnings -- mysqli_get_warningsLit le résultat de SHOW WARNINGS

Description

Style orienté objet

public mysqli::get_warnings(): mysqli_warning|false

Style procédural

mysqli_get_warnings(mysqli $mysql): mysqli_warning|false

Retourne une liste simplement chaînée composée de mysqli_warning ou false s'il n'y a aucun avertissement. Chaque objet de la liste correspond à une ligne unique du résultat de SHOW WARNINGS. Appeler mysqli_warning::next() remplira l'objet avec les valeurs de la ligne suivante.

Note: Pour récupérer les messages d'avertissement, il est recommandé d'utiliser la commande SQL SHOW WARNINGS [LIMIT row_count] plutôt que cette fonction.

Avertissement

La liste chaînée ne peut pas être réinitialisée ni récupérée à nouveau.

Liste de paramètres

mysql

Seulement en style procédural : Un objet mysqli retourné par la fonction mysqli_connect() ou mysqli_init().

Valeurs de retour

Retourne une liste simplement chaînée composée de mysqli_warning ou false s'il n'y a aucun avertissement.

Exemples

Exemple #1 Parcourir la liste chaînée pour récupérer tous les avertissements

Style orienté objet

<?php

mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$mysqli->query("SELECT 1/0, CAST('NULL' AS UNSIGNED)");

if (
$mysqli->warning_count > 0) {
$warning = $mysqli->get_warnings();
if (
$warning !== false) {
do {
printf("Numéro d'erreur : %s\n", $warning->errno);
printf("Message : %s\n", $warning->message);
} while (
$warning->next());
}
}

Les exemples ci-dessus vont afficher :

Numéro d'erreur : 1365
Message : Division par 0
Numéro d'erreur : 1292
Message : Valeur ENTIER incorrecte tronquée : 'NULL'
add a note

User Contributed Notes 1 note

up
9
Anonymous
10 years ago
Take note:
Calling this function will change the output of mysqli_affected_rows if any warnings are returned. So if you're using mysqli_affected_rows in your application, make sure to call it before calling mysqli_get_warnings.
To Top