• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MDB2のプリぺアドステートメントについて)

MDB2のプリぺアドステートメントについて

このQ&Aのポイント
  • MDB2のプリぺアドステートメントを使用してテーブルデータを取得する際に、型指定をしなくてもデータを取得することは可能ですか?
  • 指定した場合と指定しなかった場合で、MDB2のプリぺアドステートメントの動作にはどのような違いがあるのでしょうか?
  • MDB2の公式マニュアルでは型指定の方法しか記載されていないため、型指定をしない場合の動作については不明です。

質問者が選んだベストアンサー

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

>公式マニュアルでは指定したものしか見当たらなかったもので… サンプルソースはそうかもしれませんが、マニュアル自体にちゃんと記述があります。 RTFM. http://pear.php.net/manual/ja/package.database.mdb2.intro-execute.php ----- 引用ここから デフォルトでは、すべてのプレースホルダは 文字列として扱われます。しかし、二番目のパラメータとして データ型 の配列を渡すと、 各プレースホルダの型を指定できるようになります。 ----- 引用ここまで 第二引数を省略した場合には、文字列型として扱われます。 PDOなどでもそうなっています(bindParamせずに直接executeで配列を渡すケース)。MySQLでは困ることはなかった気がしますが、いつまでも大丈夫だとかすべてのRDBMSで問題ないとか誰も保証出来ません。「キチンと書く」のが基本です。

chic_punk
質問者

お礼

ありがとうございます! 以下、どちらでも問題無く動作しました。。(MySQLです) $sth = $mdb2->prepare($sql, null, MDB2_PREPARE_RESULT); $sth = $mdb2->prepare($sql, array(), MDB2_PREPARE_RESULT); 本来推奨すべきでは無いのでしょうが、こういった記述もあり、という事ですね。

関連するQ&A

専門家に質問してみよう