Ваш запрос (EDIT: появился, в первой версии запроса) является полностью статичным - то есть он не использует предоставленные пользователем данные. В этом случае нет риска внедрения SQL.
Атаки SQL-инъекций включают в себя ввод данных пользователем и включение их непосредственно в запрос SQL вместо предпочтительного метода использования параметризованного оператора SQL и включения предоставленных пользователем значений таким образом. (Я не знаю деталей того, как это делается в PHP ... Я, конечно, надеюсь , это возможно.)
РЕДАКТИРОВАТЬ: Хорошо, теперь вы изменили свой код, в том числе:
$a1="SELECT hosteladmissionno,student_name,semester FROM registration
WHERE mess_type ".$q."' AND status_flag=1";
Где $q
извлекается из текстового поля. Теперь я предполагаю, что вы действительно имели в виду вторую строку:
WHERE mess_type='".$q."' AND status_flag=1";
Но это все еще уязвимо для атаки SQL-инъекцией. Предположим, значение q:
' OR 'x'='x
Тогда ваш оператор SQL будет иметь вид
SELECT hosteladmissionno,student_name,semester FROM registration
WHERE mess_type='' OR 'x'='x' AND status_flag=1
что явно не соответствует логике, которую вы преследуете.
Вы должны использовать параметры для значений, как показано на этой подготовленной PHP странице оператора .