人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHP5.12 + MySQLで開発をしているのですが、データを取得するときにカラム名の大文字小文字を区別しないようにする方法はあるのでしょうか。postgresqlだと区別していないようなのですが。

例.カラム名がbookNameの場合

postgresql
echo $data['bookname'] ←取得できる

MySQL
echo $data['bookname'] ←エラー

MySQLでpostgesqlのように取得ができるようにできればと思います。

●質問者: takets
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:echo MySQL postgreSQL エラー カラム名
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● kurukuru-neko
●40ポイント

設定変更で対応で動作を変更かのうですが。

大文字、小文字まじり名前を使っていると

小文字に修正が必要です。

6.1.3. 名前におけるケース依存

http://dev.mysql.com/doc/refman/4.1/ja/name-case-sensitivity.htm...

◎質問者からの返答

ありがとうございます。

やはりpostgresqlのように何も考えずに小文字だけ、とはいかないようですね。

どうしてテーブル名がケース依存で、カラム名がケース非依存なのかが気になるところです。


2 ● Sampo
●40ポイント

function collower(&$data){

foreach($data as $key=>$value){

$data[ strtolower($key) ] = $value;

}

}

なる関数を用意して、クエリ結果取得後に collower($data)として小文字でも取得できるように結果を加工してあげればよいでしょう。

http://search.net-newbie.com/php/function.strtolower.html

◎質問者からの返答

ありがとうございます。

テーブル名をいじらないようにするには、このやり方がよさそうですね。


3 ● kakicg
●40ポイント

MySQLでは大文字小文字の区別がされるようです。その回避策が下にあります。

http://dev.mysql.com/doc/refman/4.1/ja/name-case-sensitivity.htm...

◎質問者からの返答

ありがとうございます。

やり方を検討してみます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ