@andrr25

Как строку поставить в sql запрос?

Здравствуйте дорогие PHP разработчики, есть такой prepare запрос

$rs = $pdo->prepare("SELECT * FROM services WHERE service_name = ? LIMIT " . $this_page_first_result . ',' . $results_per_page);
$rs->execute(array($query));


Как эта переменная
$query = ' OR ' . 'service_name' . ' = '  . $value;

поставить в запрос так, чтобы не обрабатывалось как строка а перемешался с запросом?
  • Вопрос задан
  • 67 просмотров
Решения вопроса 1
vadimushka_d
@vadimushka_d
Учусь на программиста
andrr25, фигня какая, то есть тебе нужно получить текст где service_name равен содержимому, которое содержится в $_GET['search-text']? тогда лучше так
$serviceNameValues = [];
foreach (explode(" ", $_GET['search-text']) as $key => $value) {
    $serviceNameValues[] = $value;
}
$place_holders = implode(',', array_fill(0, count($serviceNameValues), '?'));

$number_of_pages = ceil($nresult_num/$results_per_page);
$this_page_first_result = ($page-1)*$results_per_page;
$rs = $pdo->prepare("SELECT * FROM services WHERE service_name IN ({$place_holders}) LIMIT {$this_page_first_result },{$results_per_page}");
$rs->execute($serviceNameValues);
$fetch = $rs->fetchAll();
$result_num = $rs->rowCount();
}


вроде так пойдет
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Samarkand
Для того и придумали фреймворки, например, Yii:

$criteria->addInCondition('service_name', explode(" ", $search_name));
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы