it-swarm.com.de

Erkennen von Fehlern, die von $ wpdb-> get_results () generiert wurden

Wie erkenne ich Fehler bei der Verwendung von $ wpdb-> get_results ()?

Zum Beispiel:

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

Der vorhergehende Code generiert keine Ausnahmen oder Fehler. es setzt $ result einfach auf ein leeres Array. Wie erkennen wir zuverlässig Fehler, die von get_results () erzeugt werden?

9
rinogo

Es gibt eine Klassenvariable, die die letzte Fehlerzeichenfolge speichert - $ wpdb-> last_error. So wie $ wpdb codiert ist, ist $ wpdb-> last_error bei erfolgreicher Abfrage eine leere Zeichenfolge. Wenn dies fehlschlägt, ist dies die von MySQL zurückgegebene Fehlerzeichenfolge. So etwas würde den Trick machen.

$result = $wpdb->get_results("SELECT * FROM this is not a valid query");
if ($wpdb->last_error) {
  echo 'You done bad! ' . $wpdb->last_error;
}
7
bytesnz

Das Beste, was ich finden kann, ist:

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

Leider löst das kaum das Problem. Ich möchte den Fehler programmgesteuert behandeln und ihn nicht nur an den Ausgabestream weitergeben.

1
rinogo