2013-11-27 2 views
0

Я пытаюсь заставить этот запрос работать, но что-то не так с моим запросом. Я могу вытащить все данные, но не могу понять, как вытащить данные, соответствующие конкретному имени пользователя. Это построено на WordPress с интеграцией с приложением.Не удается получить запрос базы данных Wordpress

global $wpdb; 
$ttm_username = bp_get_displayed_user_fullname(); 

$trackingData = $wpdb->get_results("SELECT * FROM `wp_shipping_numbers` WHERE `username` = $ttm_username "); 
+0

Вы получаете имя пользователя из этой функции 'bp_get_displayed_user_fullname()'? –

+0

да, я могу вставить в таблицу и вытащить из нее все данные, но у меня не так много бэкэнд-опыта, поэтому я не уверен, что Im запрашивает право ... –

+0

Я вставлял эту функцию, поэтому я знаю, что она работает. –

ответ

1

Если вы получаете имя пользователя с bp_get_displayed_user_fullname() функцией, которая возвращает вас в качестве значения строки.

$wpdb->get_results(
    "SELECT * FROM `wp_shipping_numbers` WHERE `username` = $ttm_username " 
); 

Использование

$wpdb->get_results(
    "SELECT * FROM `wp_shipping_numbers` WHERE `username` = '".$ttm_username."' " 
); 
+0

Ок, я вижу, я был близок. Я знал, что это что-то с этой частью, просто не знало, как это сделать в запросе. Большое спасибо, работал отлично :) –

+0

@MichaelHicks рад, что он работает для вас :) –

1

Вы размещаете $ttm_username в строке в виде текста, а не строка. Так что это должно быть исправлено. Кроме того, чтобы сохранить головные боли при форматировании отладки &, я делаю следующее: мне нравится использовать одинарные кавычки для выделения строк. И мне нравится разбивать запросы на более легкое переваривание фрагментов «в строке» при настройке в строке.

global $wpdb; 
$ttm_username = bp_get_displayed_user_fullname(); 

$query = 'SELECT *' 
     . ' FROM `wp_shipping_numbers`' 
     . ' WHERE `username` = ' . $ttm_username 
     ; 
$trackingData = $wpdb->get_results($query); 
+1

Спасибо за советы. Очень признателен. –