PHP Mysql Выберите запрос с помощью МЕЖДУ

Я пытаюсь использовать два запроса с использованием между, но когда я добавляю код между, это не работает. Это код, который работает для меня, прежде чем использовать МЕЖДУ.

$result = mysql_query("SELECT name , liking , id , address , description FROM locations WHERE liking LIKE '%{$likeArray[$newCount]}%'");

Это код между, который не работает.

$result = mysql_query("SELECT name , liking , id , address , description FROM locations WHERE ‘long’ BETWEEN ‘$Slong’ AND ‘$Blong’ AND lat BETWEEN ‘$Slat’ AND ‘$Blat’ AND liking LIKE '%{$likeArray[$newCount]}%'");

1

Решение

У вас есть несколько вопросов здесь.

Во-первых, я скажу, что не используйте функции mysql_ *, они устарели в 5.5+ и удалены в 7.0. Ваши альтернативы — функции mysqli_ * или использование PDO. Я предпочитаю PDO, но я понимаю, почему использование mysqli_ * было бы удобно, так как вы могли бы сделать текстовый поиск для mysql_ и заменить на mysqli_,

Теперь к вашей проблеме. Вы используете обратные и прямые тики для всего, где вы должны использовать обратные тики и одинарные кавычки. Имена столбцов должны быть заключены в обратные кавычки (`), а текст должен быть заключен в одинарные кавычки (‘), как показано ниже:

$result = mysqli_query(
"SELECT name , liking , id , address , description FROM locations WHERE `long` BETWEEN '$Slong' AND '$Blong' AND `lat` BETWEEN '$Slat' AND '$Blat' AND `liking` LIKE '%{$likeArray[$newCount]}%'");

РЕДАКТИРОВАТЬ: Кроме того, вы широко открыты для SQLi (SQL-инъекция) — использование PDO и подготовленные заявления устранят эту угрозу. Есть хорошее руководство по использованию PHP PDO Вот.

1

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

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

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