Ruk*_*tel 5 php mysql sql-injection
我听说sprintf()可以防止SQL注入.这是真的吗?如果是这样,怎么样?
为什么人们建议写这样的查询:
$sql = sprintf('SELECT * FROM TABLE WHERE COL1 = %s AND COL2 = %s',$col1,$col2);
Run Code Online (Sandbox Code Playgroud)
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));
Run Code Online (Sandbox Code Playgroud)
是更安全的注射
注意:我想你看看PDO,这就是我喜欢用于DBconections和查询的东西