各位。

我在mysql数据库的某些表中使用整数PK。在从PHP脚本输入之前,我要进行一些清理,包括intval($ id)和$ mysqli-> real_escape_string()。

查询非常简单

insert into `tblproducts`(`supplier_id`,`description`) values('$supplier_id','$description')

在此示例中,$ description通过real_escape_string(),而$ supplier_id仅被intval()处理。

我只是好奇,如果有任何情况,何时需要将intval和real_escape_string都应用于要插入数据库的整数?所以基本上我真的需要使用吗?
$supplier_id = intval($mysqli->real_escape_string($supplier_id));

谢谢你。

最佳答案

intvalreal_escape_string更快,因为real_escape_string必须连接到数据库并根据字符集/排序规则转义。

您也可以像这样将int转换为:

$val = (int)$val;

因此无需双重 sanitizer

关于php - 清理整数时使用intval和real_escape_string,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8206415/

10-13 02:02