SQL LIKE %?% странно выбирает данные из БД

201
25 марта 2018, 22:22

В $_GET['key'] из формы передается строка символов введенных с клавиатуры. В БД нужно найти все записи, в которых встречается такая подстрока. Запрос написал, но он как-то не правильно он работает: вводим в поле "e", запрос находит "test" - все верно. Вводим "s", "es", "t" и т.д. - запрос ничего не находит. В чем может быть проблема?

if(isset($_GET['key'])){
$key = $_GET['key'];
if(strlen($key) > 0){
    if($stmt = $db->prepare("SELECT * FROM `keys` WHERE 'key' LIKE CONCAT('%',?,'%')"))
    {
    $stmt->bind_param('s', $key);
    $stmt->execute();
    $stmt->bind_result($res_id, $res_key);
    while($stmt->fetch())
        echo "<div>:".htmlspecialchars($res_key)."</div>";
    }
    else
        echo $db->error;
}

}

Answer 1

Попробуйте такой запрос:

if(strlen($key) > 0){
    $search = "%$key%";
    if($stmt = $db->prepare("SELECT * FROM `keys` WHERE `key` LIKE :search"))
    {
    $stmt->bind_param(':search', $search);
    $stmt->execute();

У меня сработал.

READ ALSO
Экспорт в excel - PHP

Экспорт в excel - PHP

как при экспорте в excel выводить в цикле по строкам? например у меня

225
Работа с данными при включенном выводе ошибок

Работа с данными при включенном выводе ошибок

Делаю проект на laravelИдеология такая, что даже предупреждений быть не должно

214
Настройка выпадающего меню

Настройка выпадающего меню

Есть выпадающее меню на сайте сделаное на PHPПосле выбора авто в Title оно не добавляется, а остается как и есть "Марка"

189
Дублирование ответов бота сообщества / callback vk api

Дублирование ответов бота сообщества / callback vk api

ЗдравствуйтеПишу бота для сообщества на php, используя callback api

230