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

190
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 выводить в цикле по строкам? например у меня

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

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

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

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

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

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

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

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

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

219