Я использую $wpdb->update
для обновления пользовательской таблицы в моей базе данных. Когда я var_dump
возвращаю результат:
int(0)
Поэтому я попытался $wpdb->print_error()
понять, что не так. Однако это ничего не показывает. Я тоже пытался $wpdb->show_errors()
, но опять ничего не показывало.
Документы wpdb не содержат подробностей о том, как использовать эти функции, поэтому я не уверен, правильно ли я их использую. Но почему в результате обновления таблицы возвращается 0, а ошибки не отображаются?
SHOW FULL COLUMNS FROM ``
в моем случаеПоказать ошибки:
$wpdb->show_errors = true
показывает ошибки автоматически, еслиWP_DEBUG
установлено значениеtrue
.$wpdb->suppress_errors = false
перестает подавлять ошибки.Мультисайт нуждается в особом уходе
Обработка вывода
$wpdb->update()
Метод имеет три различных выходов. Для того, чтобы проверить против него, вы должны сохранить результат ıA вар:$result = $wpdb->update( /* ... */ );
.Обрабатывать эти сценарии:
false === $result
: Провал0 === $result
: Успех, но без обновления0 < $result
: УспехВыход класса
$wpdb->last_error
покажет вам последнюю ошибку, если вы ее получили.$wpdb->last_query
поможет вам с отображением последнего запроса (где произошла ошибка). Это в основном так же, какarray_pop( $wpbd->queries );
.Важное (безопасность) Примечание
Пожалуйста, НЕ добавляйте эти коды на сайт. Особенно, если кеш-плагины задействованы. Это может предоставить важные данные, связанные с БД, посетителям !
Если вы не можете поступить иначе: всегда оборачивайте свой код в условные операторы, чтобы предотвратить публичный вывод отладочной информации!
Экспонирование
$wpdb
объекта может также раскрыть имя пользователя и пароль вашей базы данных!источник
Нулевой ответ означает, что затронуто ноль строк, что отличается от ошибки.
Трудно сказать, не глядя на ваш запрос, почему ни одна строка не обновляется. Один из инструментов отладки, который вы можете попробовать - установить значение "
SAVEQUERIES
" в true в вашем файле wp-config.php.Затем, после выполнения запроса, попробуйте
var_dump
ing$wpdb->queries
.источник
источник
Попробуйте это перед вашим запросом:
или, возможно, это после вашего запроса:
источник