Я ищу способ, которым я могу напечатать выполненный SQL-запрос сразу после:
$wpdb->query(
$wpdb->prepare("INSERT
INTO tbl_watchprosite SET
keywords=%s,url_to_post=%s,description=%s,
date_captured=%s,crawl_id=%d,
image_main=%s,images=%s,brand=%s,
series=%s,model=%s,condition=%s,box=%s,
papers=%s,year=%s,case_size=%s,status=%s,listed=%s,
asking_price=%s,retail_price=%s,payment_info=%s,forum_id=%d",
$this->getForumSettings()->search_meta,$element->href,$post_meta['description'],current_time('mysql'),$cid,$post_meta['image_main'],$images,$post_meta[0],$post_meta[1],$post_meta[2],$post_meta[3],$post_meta[4],$post_meta[5],$post_meta[6],$post_meta[7],$status,$post_meta[9],$post_meta[10],$post_meta[11],$this->getForumSettings()->ID)
);
Это было бы здорово, если бы я мог видеть, какие значения идут в запросе.
Благодарность
Ответы:
У
$wpdb
объекта есть несколько свойств, для которых устанавливается:Примечание: Прежде всего , вы должны установить
define( 'SAVEQUERIES', true );
в вашемwp-config.php
файле в корневой папке WordPress.источник
defined( 'SAVEQUERIES', true );
в своемwp-config.php
или что-то вроде! defined( 'SAVEQUERIES' ) AND defined( 'SAVEQUERIES', true );
в вашем сценарии? Иначе это не сработает.Я перечислил 3 подхода здесь:
SAVEQUERIES
и печать всех запросов в нижнем колонтитуле$wpdb->last_query
для печати только последнего выполненного запроса, это полезно для отладки функций.Вы должны добавить это в свой wp-config.php
Затем в нижней части вашей темы добавьте этот код:
Или, если вы хотите напечатать только последний выполненный запрос, вы можете использовать его чуть ниже
$wpdb
вызова функции запроса.Третий подход заключается в использовании плагина, такого как Query Monitor, который подробно перечисляет все запросы, выполненные на странице, и другие связанные с ним детали, такие как количество строк, которые он возвращает, и время, затраченное на выполнение, или, если это медленный запрос. http://wordpress.org/plugins/query-monitor/
Рекомендуется использовать этот плагин только в среде DEV, и его нельзя оставлять активированным на живом сайте. Кроме того, Query Monitor может иногда вызывать проблемы с вашей страницей, например 5XX error на вашем шаблоне / странице, если слишком много ошибок.
источник
Вы должны добавить обе функции, иначе это никогда не покажет ошибку
Эта функция покажет вам правильную ошибку вот так
источник
Я хотел бы добавить, что лучший ответ @kaiser с положительным голосом не совсем правильный:
Возвращаемое значение - ARRAY , а не строка. Таким образом, чтобы вывести последний запрос, вы должны сделать это:
источник