[PHP-users 29824] 日本語利用時のPDO_PGSQLでのPREPAREの挙動

TANABE Junnichi jun @ lmns.biz
2006年 7月 19日 (水) 22:45:39 JST


お世話にあります。田邉と申します。

#29440にも同様の投稿がありますが、PDO_PGSQLで、日本語が混ざってしまっ
ているクエリを処理しようとするときに、prepareが正常に動作せず困ってい
ます。

select * from hoge where a = :a and b = :b
のような場合は、ログを確認すると、
PREPARE pdo_pgsql_stmt_xxxxxx AS select * from hoge where a = $1 and b
= $2
のように正しく処理できているのですが、日本語が混ざっていると、

select * from hoge where a = :a and 日本語 = :b
のような場合は、ログを確認すると、
PREPARE pdo_pgsql_stmt_xxxxxx AS select * from hoge where a = $1 and
日本語 = :b
ERROR:  syntax error at or near ":"
のようになってしまい、正しく評価して貰えないようです。

そもそも項目名に日本語を使うなよ、というのもありますが、日本語をプレー
スホルダに突っ込む以外の逃げ道はないのでしょうか。

もし、なにか御存じでしたらご教示頂けると幸いです。


以上、宜しくお願い致します。



PHP-users メーリングリストの案内