Обновление базы данных Wordpress - внезапно перестал работать

У меня есть следующий код, который работал, но сейчас почему-то нет.

if(isset($_REQUEST['website'])){$dbfields['website'] = $_REQUEST['website'];};
if(isset($_REQUEST['email'])){$dbfields['email'] = $_REQUEST['email'];};
$where = array( 'ID' => $_REQUEST['ID'] );
$result = $wpdb->update($this->the_table, $dbfields, $where);
return $result;

Объект результата должен вернуть 2, но теперь возвращает 0, предполагая, что значения одинаковы. Независимо от того, что я установил значения, БД не обновляется, и возвращается результат 0.

Есть ли способ узнать, какой запрос генерируется объектом wpdb. К сожалению, у меня нет реальной возможности правильно отлаживать php на сервере.

1 ответ

Решение

От http://codex.wordpress.org/Class_Reference/wpdb

Обновите строку в таблице. Возвращает false, если ошибки, или количество затронутых строк в случае успеха.

0 (или false), скорее всего, означает, что произошла ошибка. Я предлагаю вам включить режим отладки, хотя будьте готовы отсеять все ошибки из ядра Wordpress и любых других установленных вами плагинов.

Кроме того, если ID не является первичным ключом, я ожидаю, что ваше обновление вернет не более одного результата.

Другие вопросы по тегам