$_POST["keyword"] вставил, т.к без него не будет работать автокомплит.я не писал что его использовать нельзя, я сказал что его нужно проверять, я вам спокойно в поисковую строку sql injection вставлю и улетит весь ваш аэропорт в dev/null.
Есть БД с Аэропортами... вывести из другой базы это внутренний рейс... данные в другой базе могут меняться.По моему у вас каша в голове по поводу баз данных. Не надо путать ТАБЛИЦЫ с БАЗАМИ. У вас должна быть 1 база данных, в которой должны быть таблицы "аэропорты" и "рейсы", между которыми должны быть связи (скорее всего многие ко многим). Перед практической реализацией все же немного теории необходимо освоить.
у вас алгоритм хэша странный.Вообще то обычный password_hash()
В третьих - убедитесь что все соответствует - захешируйте, сохраните в бд, прочитайте, проверьте. Вот и поймете - в бд проблема или в чем то в коде.
$bin = unpack('H*', '$2y$05$y9vdifo939stS5ybW5ZGceDBiQWH4sYvUfZtCukOidXszIyUL.SGy');
var_dump($bin);
/**я не сказал "не хватает", я сказал "рекомендуется"
* Мы просто хотим захешировать свой пароль используя настройки по умолчанию.
* Значит будет использован BCRYPT и результат будет 60 символов длиной.
*
* Помните, что алгоритм по умолчанию может измениться в будущем, так что
* имеет смысл заранее позаботиться о том, чтобы система хранения хешей
* смогла хранить более 60 символов (255 в самый раз)
*/
$sorting подтягивается из url строки с помощью GET запросаУгу, только каким "магическим" способом он оказывается внутри функции? (подсказка - читать про область видимости переменных).
Но проблема не в переменной, т.к. запрос писал так же напрямуючто наводит на мысль что выполняется не эта функция(что не отменяет предыдущего вопроса). сделайте так в своей функции:
$sql = "SELECT * FROM `smirnov` WHERE visible='1' ORDER BY '$sorting' ";
var_dump($sql);
exit();
и посмотрите что вернется(скорее всего ничего, но по данному огрызку кода это не ясно точно).чтобы получить 20 последних диалогов, их сначала нужно отсортировать, значит join будет для всех записей.Для всех записей, удовлетворяющих связке, а это уже сильное условие. И оттуда сорт и лимит 20 будет по индексу. И только потом джоин. Фактически это 2 запроса - выборка 20 значений из 1 таблицы (или из двух, зависит от структуры данных), потом селект из другой с данными из первого селекта в условии ограничения.
case в запросах - очень плохо, и чаще всего говорит о неверной структуре данных.