2014-12-11 5 views
0

Я должен получить записи на основе некоторого текста. Для этого я использую LIKE-запрос в get_results. Но когда я запускаю этот запрос в SQL, он отлично работает, но в коде его нет. Я не могу узнать, где ошибка. Пожалуйста, предложите мне правильный способ сделать это. вот мой код.WP get_results запрос не работает?

$searchTag = $_REQUEST["s"]; 
<?php if (have_posts()) : while (have_posts()) : the_post(); $current++; ?> 

здесь проблема происходит (запрос дает пустые результаты [может быть/он оленья кожей отображать любую вещь])

<?php 
$post_id = $wpdb->get_results("SELECT post_id FROM wp_postmeta 
WHERE meta_value LIKE '%,".$searchTag.",%'OR meta_value LIKE '%,".$searchTag."' 
OR meta_value LIKE '".$searchTag.",%' OR meta_value='".$searchTag."' "); 

ответ

1

Пожалуйста, используйте

global $wpdb; 

до вашего запроса.

+0

Я использую .... но не определено в этом snpet –

0

Я реплицировал вашу проблему, вы должны использовать префиксный объект.

$post_id = $wpdb->get_results("SELECT post_id FROM " . $wpdb->prefix . "postmeta WHERE meta_value LIKE '%,".$searchTag.",%'OR meta_value LIKE '%,".$searchTag."' OR meta_value LIKE '".$searchTag.",%' OR meta_value='".$searchTag."' "); 
Смежные вопросы