一张表 id字段为主键 自增如果要删除某条数据那么"delete from test where id=".$_POST['id']问题就是有没有可能这样是不安全的"delete from test where id=".$_POST['id']$_POST['id'] = 2 or 1=1 之类的情况会产生这种情况吗,导致全部删除
方法一:在php.ini中设置:magic_quotes_gpc = Off 方法二: $str=stripcslashes($str)
一般如果是数值的,基本是整型,都会intval一下
那么再问问平时我们插入数据是 "insert into test(a,b,c) values('".$a."','".$b."','".$c."')";有这么多双引号,单引号,,如果字段一朵就晕了有没有可能"insert into test(a,b,c) values(".$a.",".$b.",".$c.")"这样就清晰多了,,如何处理
"insert into test(a,b,c) values('{$a}','{$b}','{$c}')"一般这种 稍微长点的 一律使用数组循环组成SQL.当然你想练习打字也可以
"insert into test(a,b,c) values('$a','$b','$c')"; 这样不是很清晰?
"delete from test where id='$_POST[id]'"
对,我试了,是全部删除,但是有没有可能加了引号还不安全呢??我看见有个函数是mysql_real_escape_string
"insert into test(a,b,c) values('{$a}','{$b}','{$c}')"一般这种 稍微长点的 一律使用数组循环组成SQL.当然你想练习打字也可以
这样不是很清晰?
话说那个单引号下 php变量不是不解析的吗?