Правильная проверка успешности выполнения $wpdb->update() в WordPress

7 янв. 2011 г., 06:08:36
Просмотры: 18.8K
Голосов: 5

Мой код:

if( $wpdb->update($tableName,array('opt_value'=>$cInfo),array('opt_name'=>'showWeatherWidget')))
    //показать сообщение об успехе
else
    // показать сообщение об ошибке

Это неправильно, так как $wpdb->update() возвращает false, если не было изменено ни одной строки, даже если ошибок не было. Кто-нибудь может подсказать правильный способ вывода сообщения об успешном обновлении поля?

1
Комментарии

возможный дубликат Показ ошибок при $wpdb update

kaiser kaiser
24 июл. 2012 г. 17:02:30
Все ответы на вопрос 1
2
11

Правильный способ — использовать === FALSE, что позволяет отличить ошибку от случая, когда запрос выполнен успешно, но не возвращает результатов (в этом случае возвращается ноль).

if( $wpdb->update($tableName,array('opt_value'=>$cInfo),array('opt_name'=>'showWeatherWidget')) === FALSE)
    // показать сообщение об ошибке
else
    // показать сообщение об успехе
7 янв. 2011 г. 06:20:50
Комментарии

Это противоречит данному ответу, http://stackoverflow.com/questions/6529242/wpdb-what-does-it-return-on-fail, где говорится: if ($result === false) // Ошибка -- оператор "===" сравнивает как тип, так и значение

AlxVallejo AlxVallejo
15 мар. 2012 г. 23:54:21

Это подтверждается в моем коде - я подтверждаю (и +1) этот ответ! Спасибо, JMC!

Eric Holmes Eric Holmes
12 дек. 2012 г. 17:06:02