Detectando errores generados por $ wpdb-get_results ()

9

¿Cómo detecto errores cuando uso $ wpdb- > get_results ()?

Por ejemplo:

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

El código anterior no genera ninguna excepción o error; simplemente establece $ resultado a una matriz vacía. ¿Cómo detectamos de forma confiable los errores generados por get_results ()?

    
pregunta rinogo 17.04.2014 - 23:54

2 respuestas

7

Hay una variable de clase que almacena la última cadena de error - $ wpdb- > last_error. Por el aspecto de la manera en que se codifica $ wpdb, si la consulta tiene éxito, $ wpdb- > last_error será una cadena vacía, si falla, será la cadena de error devuelta por MySQL. Así que algo como esto haría el truco.

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

Lo mejor que puedo encontrar es:

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

Lamentablemente, eso no resuelve el problema. Quiero manejar el error mediante programación, no solo haciéndolo eco de la secuencia de salida.

    
respondido por el rinogo 18.04.2014 - 00:00

Lea otras preguntas en las etiquetas