将s用于bind_param中的int

问题描述 投票:0回答:3

让我们接受这个mysqli查询:

$query = "SELECT * FROM table WHERE (".$id_type."=?)";

[$id_type是硬编码的,可以是"userID"(在mysql表中为int(11))或"sessionID"(在mysql表中为char(36))。

我可以像这样绑定参数吗?

$stmt->bind_param('s', $id);

即使在s可能是bind_param的情况下,在$id中使用int时,是否会有性能损失或其他考虑?如果没有,为什么以后我还要使用正确的字母(isd,...)?

让我们进行以下mysqli查询:$ query =“ SELECT * FROM table WHERE(”。$ id_type。“ =?)”; $ id_type是硬编码的,可以是“ userID”(在mysql表中为int(11))或“ sessionID”(在mysql中为char(36)...

php mysqli prepared-statement bindparam
3个回答
0
投票

尽可能准确地减少副作用/问题的风险总是很好。


1
投票

是,可以。


0
投票

是的,可以!

© www.soinside.com 2019 - 2024. All rights reserved.