Как отдебажить $wpdb->update()

Сегодня пытался запустить SQL-запрос через $wpdb->update(), и он тупо не срабатывал. Возвращал пустоту. То есть, мы знаем, что метод $wpdb->update() возвращает 0, в случае, если ничего не было обновлено в базе данных нашим запросом, а тут именно ничего не выводилось, когда я пытался распечатать результат через print_r() (думаю по факту возвращалось false).

Сегодня я работал с плагином WPML, таблица, с которой я работал выглядела по структуре вот так:

Таблица с переводами в плагине WPML

Запрос SQL был типо вот такого:

$wpdb->update(
	$wpdb->prefix . 'icl_translations',
	array(
		'trid' => $trid
	),
	array(
		'element_id' => $post_id,
		'element_type' => $post_type
	),
	array(
		'%d'
	),
	array(
		'%d',
		'%s'
	)
);

Ну в общем сами понимаете, что с ним всё ок. Как я в итоге решил это? Я распечатал запрос при помощи $wpdb->last_query, затем я отправился в phpMyAdmin во вкладку SQL и попытался запустить его вручную.

Отлично! Теперь у нас хотя бы есть ошибка, с которой можно дальше работать.

Источник: Блог Миши Рудрастых

Миша Рудрастых

Путешествует по миру и рассказывает всем о WordPress лично, у себя в блогах и на курсах в Санкт-Петербурге. Умеет просто объяснять сложные вещи, делает это красиво. Организовывает неплохие WordCamp's, но совсем не умеет слушать чужие доклады.

Добавить комментарий

%d такие блоггеры, как: