как правильно написать запрос в wpdb - PullRequest
0 голосов
/ 10 октября 2019

что не так в моем запросе?

$query = "SELECT * FROM wp_posts WHERE post_status = 'publish' AND post_title LIKE '%".$searchKey."%'";

В этом случае запрос работает нормально: SELECT * FROM wp_posts WHERE post_status = 'publish' AND post_title LIKE '%hello%'

Когда я пытаюсь добавить переменную в запрос,это не работает

 public function search_result($searchKey)
  {
    $query = "SELECT * FROM wp_posts WHERE post_status = 'publish' AND post_title LIKE '%".$searchKey."%'";
    return $this->wpdb->get_results($query);
  }

1 Ответ

1 голос
/ 10 октября 2019

Вы должны использовать prepare метод.

public function search_result($searchKey)
{
    $searchKey = '%'.$searchKey.'%';
    $query = "SELECT * FROM wp_posts WHERE post_status = 'publish' AND post_title LIKE %s";
    return $this->wpdb->get_results($this->wpdb->prepare($query, [$searchKey]));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...