php – 清理整数时使用intval和real_escape_string

亲爱的大家. 我在mysql数据库的一些表中使用整数PK.在从PHP脚本输入之前,我正在进行一些清理,包括intval($id)和$mysqli-> real_escape_string(). 查询非常简单 insert into `tblproducts`(`supplier_id`,`description`) values(‘$supplier_id’,’$descripti

亲爱的大家.

我在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()’ed.

我只是好奇,如果有任何情况,当我需要将intval和real_escape_string同时应用于整数我插入数据库?所以基本上我真的需要使用吗?

$supplier_id = intval($mysqli->real_escape_string($supplier_id));

谢谢.
最佳答案
intval方式比real_escape_string更快,因为real_escape_string必须连接到数据库并根据charset / collat??ion转义.

你也可以像以下那样强制转换:

$val = (int)$val;

因此无需双重消毒

关于作者: dawei

【声明】:石家庄站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐