为什么要关心mysqli_stmt :: bind_param中的类型?

时间:2013-01-27 09:42:57

标签: php prepared-statement

我在PHP脚本中使用mysqli_stmt::bind_param函数。

关心您是否通过参数类型' d'或者键入' s'管他呢。为什么总是使用类型'对于字符串,整数和双精度?

据我所知,mysql会在需要时自行处理类型转换。

1 个答案:

答案 0 :(得分:2)

你说它的方式,确实无关紧要。唯一的问题是如果在strict mode中运行mysql。

然而,事实上,开发人员应该始终了解查询部分的类型 因为它不仅可以是字符串或数字,还可以是标识符或其他内容 因此,最好使占位符 type-hinted ,让驱动程序根据查询部件类型应用正确的格式,使查询看起来像这样:

SELECT * FROM table WHERE field=?s AND id IN(?a) ORDER BY ?n LIMIT ?i