各位。
我在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));
谢谢你。
最佳答案
intval
比real_escape_string
更快,因为real_escape_string
必须连接到数据库并根据字符集/排序规则转义。
您也可以像这样将int转换为:
$val = (int)$val;
因此无需双重 sanitizer
关于php - 清理整数时使用intval和real_escape_string,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8206415/