Poszukuję sposobu, w jaki mogę wydrukować wykonane zapytanie SQL bezpośrednio po:
$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)
);
Byłoby świetnie, gdybym mógł zobaczyć, jakie wartości idą w zapytaniu.
Dzięki
Odpowiedzi:
$wpdb
Obiekt posiada pewne właściwości coraz zestaw do tego:Uwaga: Przede wszystkim trzeba ustawić
define( 'SAVEQUERIES', true );
wwp-config.php
pliku w folderze głównym WordPressa.źródło
defined( 'SAVEQUERIES', true );
w swoimwp-config.php
lub coś! defined( 'SAVEQUERIES' ) AND defined( 'SAVEQUERIES', true );
w swoim skrypcie? W przeciwnym razie to nie zadziała.Poniżej wymieniłem 3 podejścia:
SAVEQUERIES
i drukowanie wszystkich zapytań w stopce$wpdb->last_query
do drukowania tylko ostatniego wykonanego zapytania, jest to przydatne do debugowania funkcji.Musisz to dodać w swoim pliku wp-config.php
Następnie w stopce motywu dodaj ten kod:
Lub jeśli chcesz wydrukować tylko ostatnie wykonane zapytanie, możesz użyć tego tuż poniżej
$wpdb
wywołania funkcji zapytania.Trzecim podejściem byłoby użycie wtyczki, takiej jak Monitor zapytań, który szczegółowo wyświetla wszystkie zapytania wykonane na stronie oraz inne szczegóły z nim związane, takie jak liczba zwracanych wierszy i czas wykonania lub jeśli jest to powolne zapytanie. http://wordpress.org/plugins/query-monitor/
Dobrze jest używać tej wtyczki tylko w środowisku DEV i nie należy jej pozostawiać aktywowanej na aktywnej stronie. Ponadto Query Monitor może czasami powodować problemy ze stroną, np. Błąd 5XX na szablonie / stronie, jeśli jest zbyt wiele błędów.
źródło
Musisz dodać obie funkcje, w przeciwnym razie nigdy nie pojawi się błąd
Ta funkcja wyświetli odpowiedni błąd w ten sposób
źródło
Chciałem dodać, że najlepsza głosowana odpowiedź @kaiser nie jest w pełni poprawna:
Zwraca to ARRAY , a nie ciąg. Aby wypisać ostatnie zapytanie, wykonaj następujące czynności:
źródło