我听说过sprintf()
防止 SQL 注入。这是真的吗?如果是这样,怎么办?
为什么人们建议这样编写查询:
$sql = sprintf('SELECT * FROM TABLE WHERE COL1 = %s AND COL2 = %s',$col1,$col2);
sprintf 不会保护你!它仅取代%s
你必须 mysql_real_escape_string 这样:
$sql = sprintf('SELECT * FROM TABLE WHERE COL1 = "%s" AND COL2 = "%s"',
mysql_real_escape_string($col1),
mysql_real_escape_string($col2));
注射更安全
注意:我建议你看一下PDO,这是我喜欢用于数据库连接和查询的
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)