mysqli防SQL注入(代码方面)
$link = mysqli_connect($url,$usr,$paw,$database)
or die("Error " . mysqli_error($link));
1、一般sql:
(可以用mysql_real_escapec处理字符串避免mysql注入)
$link->query("sql");
2、规范写法:
(这里的对象方式的写法可以规范mysql执行的语句,这条语句就只执行了插入语句,如果参数里面存在sql注入的语句它也会将其视为一个参数,但是如果用上面一般的语句来写的话,当参数里面出现sql注入语句的时候,mysql语句无法规范,除了执行程序自己拼凑的语句,还可能执行sql注入的语句。)
$stmt = $link->prepare("INSERT INTO table_name (name) VALUES (?)");
$stmt->bind_param('s', $postedName);
//只要确保参数在下一步 execute 之前赋值就行了
$stmt->execute();