Détecter les erreurs générées par $ wpdb-get_results ()

9

Comment détecter les erreurs lors de l'utilisation de $ wpdb- > get_results ()?

Par exemple:

$result = $wpdb->get_results("SELECT * FROM this is not a valid query");

Le code précédent ne génère aucune exception ni erreur. il définit simplement $ result dans un tableau vide. Comment détecter de manière fiable les erreurs générées par get_results ()?

    
posée rinogo 17.04.2014 - 23:54

2 réponses

7

Une variable de classe stocke la dernière chaîne d'erreur - $ wpdb - > last_error. En apparence, $ wpdb est codé. Si la requête aboutit, $ wpdb- > last_error sera une chaîne vide. Si elle échoue, ce sera la chaîne d’erreur renvoyée par MySQL. Donc, quelque chose comme ça ferait l'affaire.

$result = $wpdb->get_results("SELECT * FROM this is not a valid query");
if ($wpdb->last_error) {
  echo 'You done bad! ' . $wpdb->last_error;
}
    
réponse donnée bytesnz 23.04.2015 - 08:31
1

Le mieux que je puisse trouver est:

$wpdb->show_errors();
$result = $wpdb->get_results("SELECT * FROM this is not a valid query");
$wpdb->hide_errors();

Malheureusement, cela ne résout guère le problème. Je veux gérer l'erreur par programmation, pas seulement en écho au flux de sortie.

    
réponse donnée rinogo 18.04.2014 - 00:00

Lire d'autres questions sur les étiquettes