$ Wpdb-> get_results () tarafından oluşturulan hataları algılama


9

$ Wpdb-> get_results () kullanırken hataları nasıl tespit ederim?

Örneğin:

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

Yukarıdaki kod herhangi bir istisna veya hata oluşturmaz; $ sonucunu boş bir diziye ayarlar. Get_results () tarafından oluşturulan hataları nasıl güvenilir bir şekilde tespit ederiz?

Yanıtlar:


7

Son hata dizesini ($ wpdb-> last_error) saklayan bir sınıf değişkeni vardır. $ Wpdb'nin kodlanma şekli göz önüne alındığında, sorgu başarılı olursa $ wpdb-> last_error boş bir dize olur, başarısız olursa MySQL tarafından döndürülen hata dizesi olur. Yani böyle bir şey işinizi görecektir.

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

Kulağa makul geliyor - şu anda bu konuya bakamıyorum, ancak bu işe yararsa, gelecekte kullanışlı olacaktır! Teşekkürler! :)
rinogo

Sonradan bir ödev bu geldi - harika çalışıyor! Bu kodu bir işleve koydum; Cevabınızı güncelledim; Umarım umursamazsın!
rinogo

1

Bulabildiğim en iyi şey:

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

Ne yazık ki, bu sorunu çok az çözüyor. Hatayı sadece çıktı akışına yansıtan değil, programlı olarak işlemek istiyorum.


Ben her zaman çıktı tampon önleme ile kötü bir şey yapabilirim ...: /
rinogo
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.