php - 转换为 int 而不是 mysql_real_escape_string 是否安全

标签 php mysql mysql-real-escape-string

只是想知道,我的应用程序需要尽可能快,并且变量已经转换为 int,所以如果可以避免的话,我也不想对字符串进行转义。

例子是:

$var1 = (int)$_POST['number1'] //User input;
mysql_query("INSERT INTO ... $var1 ..");

这在所有情况下都是安全的还是我也应该使用 mysql_real_escape_string $var1

有时我也 md5() vars 而不是转义它们,但我想这没关系。

最佳答案

是的,它在所有情况下都是安全的,尽管您可能想检查 $_POST['number1'] 是否也是一个有效的整数,以避免引起注意。

而且,即使你说

I'm only wondering about safeness, not too worried about prefered [sic] methods and coding standards.

我仍然建议您使用准备好的语句。

关于php - 转换为 int 而不是 mysql_real_escape_string 是否安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12883811/

相关文章:

php - 一个 php 网络浏览器

mysql - 数据库设计 : Associating tables of variable types

MySQL 程序接受用户输入并显示与结果相同的结果 - 不工作

php - 我是否需要对数据库数据使用 mysql_real_escape_string 才能重新插入?

PHP 将 implode() 与 mysql_real_escape_string() 结合使用时出现问题

php - 在XDK中使用ajax和php删除sql中的数据

php - mySQL 查询返回具有重复字段的结果?

php - 如何判断SQL更新语句是否删除成功

mysql - MySQL 中不可打印的字符

php - 从Mysql中提取Json php MultilineString坐标