首页 > 代码库 > (MYSQL学习笔记5)防止SQL注入

(MYSQL学习笔记5)防止SQL注入

MYSQL服务器并不存在共享池(我也不清楚共享池是什么)的概念,所以在MYSQL上使用绑定变量最大的好处就是为了防止SQL注入。


PHP例子:

$stmt = $dbh -> prepare("SELECT * FROM users WHERE username=? AND password=?");

$stmt -> execute(array($username,$password));

即使传入的变量中,带有"angel ‘ or 1=1‘"的条件,但是由于绑定变量,使得输入的参数中的单引号被正常转义,导致后续的"or 1=1"作为username的条件出现,而不是整个SQL语句的条件,即"angel \‘ or 1=1\‘"。


本文出自 “w1sw” 博客,请务必保留此出处http://cfdeng.blog.51cto.com/9873532/1948769

(MYSQL学习笔记5)防止SQL注入