Так устроен JS. Некоторые вещи работают асинхронно.
Смысл в том, что $.getJSON(url, callback) выполняется до console.log(), но вот callback, выполнится только при получении результата. Если хотите выполнять какой-то код после получения данных - выполняйте его в callback функции. Подробнее можете почитать на jqapi.com об $.ajax и методах .done(), .fail(), .always()
Поиск работает не по полному совпадению, а по отдельным словам, ранжируется по каким-то магическим правилам. Моё расширение при поиске по полному названию далеко не на первом месте.
Понял вас. Я немного недоглядел.
Ну так это ведь не проблема, что у вас наименования параметровов выбираются вместе со значениями. Вы их уже в коде определите.
1. Ну так узнайте что такое PDO. Сейчас у вас уязвимость инъекции.
2. Откройте Network панель в инструментах разработчика в браузере и посмотрите в консоль. Хоть что-то должно произойти.