$ wpdb-> get_results()を使用したときにエラーを検出するにはどうすればいいですか?
例えば:
$result = $wpdb->get_results("SELECT * FROM this is not a valid query");
上記のコードでは、例外やエラーは発生しません。単に$ 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 'You done bad! ' . $wpdb->last_error;
}
私が見つけることができる最高のものは:
$wpdb->show_errors();
$result = $wpdb->get_results("SELECT * FROM this is not a valid query");
$wpdb->hide_errors();
残念ながら、これで問題が解決することはほとんどありません。エラーを単に出力ストリームにエコーするのではなく、プログラムで処理したいのです。