Простой способ - фильтр входящих данных.
Практически каждый DB драйвер сейчас имеет встроенные средства для экранирования опасных символов, следовательно все, что приходит от пользователя, можно фильтровать готовыми функциями.
Вкратце, пример на PHP для mysqli, где $input - что пришло от юзера, например через форму или иным образом
Если без защиты выглядит так
$con=mysqli_connect("localhost","db_user","db_password","db_name");
$sql="select * from table where id=$input"
mysqli_query($con,$sql);
То с защитой, например так:
$con=mysqli_connect("localhost","db_user","db_password","db_name");
$sql = $mysqli->real_escape_string("select * from table where id=$input");
mysqli_query($con,$sql);