[pgsql-jp: 31259] SQL文の解釈について
Kenichirou Yoshida
k-yoshida91 @ hitachi-kenki.co.jp
2003年 10月 22日 (水) 20:26:31 JST
吉田です。
ちょっと疑問を感じてたので、解決方法が分からなかったので投げて見ます。
えっと、環境は以下の通り
apache 1.3.27
PostgreSQL 7.3.4 (tar.gzよりインストール)
PHP 4.3.3 (tar.gzよりインストール)
PHPLib 7.4
カーネルは 2.4.18-10 TurboLinux Workstation 7 です。
データベースは --no-locale --encoding=EUC_JP としてあります。
過去のメールを調べましたが、似たようなところがありましたが、
まったく違う状況です。
phpコードの文字コードは全てEUC-JPを統一しており、S_Shiftは使っていません。
例えば、以下のようなSQL文を叩くとエラーになります。
hogehoge=> select * from hogehoge where NAME='山田 太郎';
ERROR: Attribute "name" not found
となり、これは意味が分からなかったのですが、
phpPgAdmin 3.1 からも同じ結果でした。
色々と試したあげく、エラーが出なくなりましたが、何か釈然しません。
hogehoge=> select * from hogehoge where "NAME"='山田 太郎';
<<<結果表示>>>
NAME のところを "NAME" を入れれば問題ないというのですが、
これでは、phplibが使えません・・・。エラーになります。
認証クラスというところにsql文が入っています。
class hoge_Auth extends Auth
Fatal error: Cannot instantiate non-existent class: hoge_auth in /home/hogehoge/lib/session.inc(339) : eval()'d code on line 1
なぜ「""」を括らないと通らないのでしょう?
PostgreSQLのConfigureがおかしいのか、何が原因なのか分かりません。
心当たりがありましたら、解決策を教授願います。
pgsql-jp メーリングリストの案内