mysql 整数 加引号_MySQL-关于mysql数字类型作为条件是否应该加引号

建议是加上引号,因为有时如果过滤不严谨的话,容易直接使用$_GET或者$_POST的输入,而造成sql注入。

// 正常情况期望

$_GET['id'] = '1';

$sql = sprintf("select * from table1 where id=%s",

mysql_real_escape_string($_GET['id']));

$_GET['id'] = '1; drop table table1;';

$sql = sprintf("select * from table1 where id=%s",

mysql_real_escape_string($_GET['id']));

加了引号就会是

$_GET['id'] = '1';

$sql = sprintf("select * from table1 where id='%s'",

mysql_real_escape_string($_GET['id']));

$_GET['id'] = '1; drop table table1;';

$sql = sprintf("select * from table1 where id='%s'",

mysql_real_escape_string($_GET['id']));

这样使用比较安全。

如果你能在每个sql拼接之前都能保证数值型参数转换数值型的话,那就无所谓了!


版权声明:本文为weixin_32705179原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。