タイトルの通り、PHPのbindValueについての質問です。
下記の記事で
「ここで注意すべきは、第3引数に指定したデータ型に必ず変換されるわけではありません。」
「bindValueの第3引数でPDO::PARAM_INTと整数型を指定しておりますが、文字列として処理されます。」
「整数型にするには型キャストを行う必要があります。文字列以外の型を指定するときは、第2引数に型を明示するのが無難です。」
とありますが、bindValueを使うときは必ず第二引数を型キャストしつつ第三引数も指定するべきですか?
また、そもそもbindValueの第三引数の役割がよくわかりません。
bindValueの公式マニュアルには「パラメータに対して PDO::PARAM_* 定数 を使った明示的なデータ型を指定します。
」とありますが、これは第二引数が第三引数で指定したデータではなかった場合はfalseを返す(バインドさせない)ということですか?
追記
第二引数に文字列が格納された変数を指定し、第三引数はPDO::PARAM_INTを指定したらTrueが返ってきました。
相手のデータベースはMySQL、格納先のフィールドのデータ型はINTです。
回答2件
あなたの回答
tips
プレビュー