在PHP中,用PDO绑定十进制/双精度/浮点值的最佳方法是什么?
对于绑定,类常量似乎仅包括在PHP中,用PDO绑定十进制/双精度/浮点值的最佳方法是什么?,php,mysql,database,binding,pdo,Php,Mysql,Database,Binding,Pdo,对于绑定,类常量似乎仅包括PDO::PARAM_BOOL、PDO::PARAM_INT和PDO::PARAM_STR。您只是将十进制/浮点/双精度值绑定为字符串,还是有更好的方法来处理它们 MySQLi允许double使用'd'类型,令人惊讶的是,当PDO在许多其他方面看起来更好时,它却没有一个等价物。如果你真的想使用PDO,你必须输入它作为参数INT,但我从来没有使用double的规范 它是一个可选参数,用于指定PDO类型 我想您最好不要将PDO类型设置为doubles。AFAIK-PDO::
PDO::PARAM_BOOL
、PDO::PARAM_INT
和PDO::PARAM_STR
。您只是将十进制/浮点/双精度值绑定为字符串,还是有更好的方法来处理它们
MySQLi允许double使用'd'类型,令人惊讶的是,当PDO在许多其他方面看起来更好时,它却没有一个等价物。如果你真的想使用PDO,你必须输入它作为
参数INT
,但我从来没有使用double
的规范
它是一个可选参数,用于指定PDO
类型
我想您最好不要将
PDO
类型设置为double
s。AFAIK-PDO::PARAM_STR是一种方法。您必须使用PDO::PARAM_STR,但对于SQLite和其他引擎,这可能会有不可预测的行为。以这个问题为例:我不想因为将其绑定为INT而失去精度,但您非常重视不要指定类型,谢谢。事实上,如果没有给出参数类型,则假定为param STR。您没有也不应该将其绑定为整数,否则您将丢失数据!改为阅读@AlixAxel答案。谢谢!我可能只是想验证一下自己。对于那些不知道的人,语法是:$sth->bindParam(':keyword',$keyword,PDO::PARAM_STR)代码>