Detectando errores generados por $wpdb->get_results()
¿Cómo detecto errores al usar $wpdb->get_results()?
Por ejemplo:
$result = $wpdb->get_results("SELECT * FROM esto no es una consulta válida");
El código anterior no genera ninguna excepción o error; simplemente establece $result como un array vacío. ¿Cómo podemos detectar de manera confiable los errores generados por get_results()?

Existe una variable de clase que almacena el último mensaje de error - $wpdb->last_error. Según parece por la forma en que está codificado $wpdb, si la consulta tiene éxito, $wpdb->last_error será una cadena vacía, si falla, será el mensaje de error devuelto por MySQL. Así que algo como esto serviría.
$result = $wpdb->get_results("SELECT * FROM this is not a valid query");
if ($wpdb->last_error) {
echo '¡Lo has hecho mal! ' . $wpdb->last_error;
}

Suena razonable. No puedo revisarlo ahora mismo, pero si funciona, ¡será muy útil en el futuro! ¡Gracias! :)

Lo mejor que puedo encontrar es:
$wpdb->show_errors();
$result = $wpdb->get_results("SELECT * FROM esto no es una consulta válida");
$wpdb->hide_errors();
Desafortunadamente, eso apenas resuelve el problema. Quiero manejar el error programáticamente, no solo mostrarlo en el flujo de salida.
