Да тут как минимум параметры передавать отдельно от самой квери, а не впаивать их интерполяцией в нее, что предоставляет отличную среду для SQL инъекций.
Код бы, кстати, в бьютифаер пихать перед публикацией - читать невозможно, особенно эхо с тернаркой (сначала даже не понял, что это тернарка -...