Обнаружение ошибок, генерируемых $wpdb->get_results()
Как обнаружить ошибки при использовании $wpdb->get_results()?
Например:
$result = $wpdb->get_results("SELECT * FROM это невалидный запрос");
Приведенный код не генерирует никаких исключений или ошибок; он просто устанавливает $result в пустой массив. Как мы можем надежно обнаруживать ошибки, генерируемые get_results()?

Существует переменная класса, которая хранит строку последней ошибки - $wpdb->last_error. Судя по коду $wpdb, если запрос выполняется успешно, $wpdb->last_error будет пустой строкой, а если запрос завершится ошибкой, в ней будет строка ошибки, возвращенная MySQL. Таким образом, можно использовать следующий подход:
$result = $wpdb->get_results("SELECT * FROM this is not a valid query");
if ($wpdb->last_error) {
echo 'Ошибка выполнения запроса: ' . $wpdb->last_error;
}

Звучит разумно — сейчас у меня нет возможности разобраться с этим, но если это сработает, будет очень полезно в будущем! Спасибо! :)

Лучшее, что я могу найти, это:
$wpdb->show_errors();
$result = $wpdb->get_results("SELECT * FROM this is not a valid query");
$wpdb->hide_errors();
К сожалению, это едва ли решает проблему. Я хочу обработать ошибку программно, а не просто выводить её в поток вывода.
