Почему этот SQL-запрос не работает

У меня есть битовый код, чтобы получить все постметы (WordPress) с помощью метода $ wpdb, но я не знаю, почему код не работает.

global $wpdb;

$meta_key   = "'_bbp_vs_name_1', '_bbp_vs_name_2'";
$tags_query = "Po";
$query      = $wpdb->esc_like( $tags_query );
$value      = '%' . $query . '%';

$ajax_teams = $wpdb->get_results( $wpdb->prepare( "SELECT *
FROM $wpdb->postmeta
WHERE meta_key IN ( $meta_key )
AND meta_value LIKE %s
",
$meta_key,
$value
) );

print_r( $ajax_teams );

Пожалуйста помоги.

Рабочие решения:

$ajax_teams = $wpdb->get_results( $wpdb->prepare( "SELECT *
FROM $wpdb->postmeta
WHERE meta_key IN ( $meta_key )
AND meta_value LIKE %s
",
$value
) );

0

Решение

Вам необходимо связать% s в запросе. Но вы дали переменное направление

$ajax_teams = $wpdb->get_results( $wpdb->prepare( "SELECT *
FROM $wpdb->postmeta
WHERE meta_key IN ( %s )
AND meta_value LIKE %s
",
$meta_key,
$value
) );

Также измените значение на:

$value      = "'%".$query."%'";
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector