$user_id = $_GET['user_id'];//假如用户在url里构造参数使得$_GET['user_id']为 1 or 1=1
$sql = "select * from `user` where user_id={$user_id}";//下面这句sql不就变成了select * from `user` where user_id=1 or 1=1,所有user数据?
假如加了引号,又对用户有可能进行注入的入口(get post cookie)进行数据过滤,会相对安全很多。
insert into table (atype) values (select something from sometable limit 1) ,括号里是可以构造sql语句的,指不定就给人利用去攻击了,所以还是加引号保险点。