2008年11月1日土曜日

(suz-php-jquery) PDOのbindValue時にPDO::PARAM_XXXを設定

スズキです。

PDOのbindValueメソッドを使うときに、
第三引数のパラメータの値の型を指定しないと、
うまくパラメータがバインドされない場合があります。
http://php.mirror.camelnetwork.com/manual/ja/pdostatement.bindvalue.php

ということで、Dao.phpを更新しました。

--------【PHP】--------
foreach($params[0] as $key => $val){
  if(is_null($val)) {
    $type = PDO::PARAM_NULL;
  } else if(is_bool($val)) {
    $type = PDO::PARAM_BOOL;
  } else if(is_float($val)) {
    $type = PDO::PARAM_INT;
  } else if(is_int($val)) {
    $type = PDO::PARAM_INT;
  } else if(is_string($val)) {
    $type = PDO::PARAM_STR;
  }
  $stmt->bindValue($key, $val, $type);
}
--------
http://code.google.com/p/suz-lab/source/browse/trunk/suz-php-jquery/php/lib/Dao.php

なので、必要に応じて、パラメータの値を型変換(文字列から整数など)
する必要があります。

"EMP WORDS"、バグ報告ありがとう。
http://blog.emp.fem.jp/

--
http://suz-lab.blogspot.com/

0 コメント: