クラス定数は、結合にはPDO::PARAM_BOOL
、PDO::PARAM_INT
およびPDO::PARAM_STR
しかカバーしていないようです。小数点/浮動小数点/ 2重の値を文字列としてバインドするだけですか、それともそれらを扱う良い方法はありますか?PHPでdecimal/double/floatの値をPDOにバインドする最も良い方法は何ですか?
MySQLiではdouble型の 'd'型が許可されていますが、他の多くの点でPDOには同等の機能がないことは驚きです。
クラス定数は、結合にはPDO::PARAM_BOOL
、PDO::PARAM_INT
およびPDO::PARAM_STR
しかカバーしていないようです。小数点/浮動小数点/ 2重の値を文字列としてバインドするだけですか、それともそれらを扱う良い方法はありますか?PHPでdecimal/double/floatの値をPDOにバインドする最も良い方法は何ですか?
MySQLiではdouble型の 'd'型が許可されていますが、他の多くの点でPDOには同等の機能がないことは驚きです。
AFAIK PDO :: PARAM_STRは道のりです。
実際にPDOを使用する場合は、PARAM_INT
として入力する必要がありますが、double
の指定は使用しません。
PDO
タイプを指定するためのオプションのパラメータです。
double
にPDO
のタイプを設定しない方がよいでしょう。
あなたはPDO :: PARAM_STRを使用する必要がありますが、SQLiteや他のエンジンの場合、これは予測できない動作をする可能性があります。 1つの例については、この問題を参照してください。SQLite HAVING comparison error
ありがとう!私はおそらくこれを行い、自分自身を検証するつもりです。 – Rob
知らない人には、構文は次のようになります: '$ sth-> bindParam( ':keyword'、$ keyword、PDO :: PARAM_STR);' – tylerl