Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中,用PDO绑定十进制/双精度/浮点值的最佳方法是什么?_Php_Mysql_Database_Binding_Pdo - Fatal编程技术网

在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)