[PHP-users 29440] PDO_PGSQLでのbindParamの挙動について
KenjiMATSUO
ml.kmatsuo @ gmail.com
2006年 6月 19日 (月) 18:47:16 JST
お世話になります。松尾といいます。
以下の環境にて Apache-PHP-PostgreSQLでPDOを利用した開発を
しているのですが、ある条件でDBから値を正常に取得出来ない
場合が有り困っております。
【環境】
Apache-2.0.58
PHP-5.1.4
PostgreSQL-8.1
pdo_pgsql-1.0.2
【内容】
SQLの中に日本語が入っている、かつbindParamを利用している場合に
DBから値を正常に取得出来ない。
例えば
$sql = "select case when id=1 then 'Value1' else 'Value2' end from test
where id= :id";
は正常に動作しますが、
$sql = "select case when id=1 then '値1' else '値2' end from test
where id= :id";
はエラーにはなりませんが、値は取得できていません。
また
$sql = "select case when id=1 then '値1' else '値2' end from test";
の場合は正常に動作しますので、bindParamが有る場合のみ何らかのエラーが
発生していると思われます。
初めは文字コードの設定に問題が有るのかと思い、色々な組み合わせ(SQL自体・
php.iniのマルチバイト関連の設定)を試しましたが状況は改善しませんでした。
どなたか同じような現象に遭遇された方、いらっしゃらないでしょうか?
以上、よろしくお願いいたします。
// Kenji Matsuo
PHP-users メーリングリストの案内