Простой вопрос: как я могу защитить, чтобы, когда пользователь вводит «union select» в поле и затем отправляет его в качестве параметра в запрос, mysql не выдаст ошибку.
Должен ли я просто проверить, вводится ли "union select" или существуют также другие ключевые слова, которые могут привести к ошибке mysql?
Вот функция защиты SQL, которую я сейчас использую:
function sql_protect(&$n){
$n=stripslashes($n);
$n=mysql_real_escape_string($n);
$dntwant = array("\'","\\", "/","\"",")","(","<",">","\\r\\n",";","*","%");
$n = str_replace($dntwant,"", $n);
}
В запросе есть что-то похожее:
where column1 like '%$user_input%'