2016-07-10 14 views
0

"TABLE"の名前は大文字と小文字が区別されます(OS、Linux、Windowsによって異なります)。私は彼らがいないと言っていくつかの場所を読んでいます。私はTABLE NAMESに関する多くの情報を見つけましたが、FIELDNAMESではそれほど多くは見つかりませんでした。mysqlの大文字と小文字のフィールド名

ただし、この例ではエラーが返されます。

フィールド名=「名前」 私は次の操作を行う場合 - それエラー出

編集:忘れてしまった:これは私のデシベルではないとして、実行時の修正を探しています。

SELECT * FROM some_table WHERE name = 'something' 

私は'Name''name'を変更しない限り、これはエラーを取得します。 2つの質問 これが私の間違いである場合、私は何が間違っていますか? そうでない場合、これを制御するためのフラグが設定されていますか?データベースの開発者の猿のように見えますが、時にはw/eの理由でフィールドを変更し、camelCaseで終わることもあります。

大文字と小文字を区別する検索には冗長なコードを書く必要があるようです。 (だから、私は間違っていると思う)

ありがとう!

+0

私は実際には明らかに誤りがから結果の文字列[コード]しばらく($結果= mysql_fetch_assoc($ SQL)){ エコー$結果[ 'タイトルからクエリ自体からではない、少し違っこれをやり直し']; } [/ code]結果は大文字と小文字が区別されます - どうすればそれを防ぐことができますか? – Cain

+1

["列、インデックス、ストアドルーチン、およびイベント名は、どのプラットフォームでも大文字と小文字は区別されません。また、列の別名もありません"](http://dev.mysql.com/doc/refman/5.7/en/identifier-case- sensitivity.html)ので、正確な 'CREATE TABLE'とエラー出力を投稿してください。 – bishop

答えて

-1

私はケースに敏感

であるあなたのマシンでMySQLのlower_case_table_namesシステム変数が0に設定されていると思わ0に設定した場合、テーブル名が指定されており、比較は大文字と小文字が区別されて保存されます。 1に設定すると、テーブル名はディスク上に小文字で格納され、比較では大文字と小文字は区別されません。 2に設定すると、テーブル名は指定通りに保存されますが、小文字で比較されます。このオプションは、データベース名とテーブルのエイリアスにも適用されます。

参考までに下記のリンクをご覧ください。 http://dev.mysql.com/doc/refman/5.7/en/identifier-case-sensitivity.html

は、私は、これはPHPのエコー$結果[「タイトル」]で大文字と小文字が区別されることをこれはあなたのコメントに基づいて

0

あなたの問題を解決することを願っています。

ここでは、PHPで連想配列の大文字と小文字を区別しないインデックスを使用できるPHP関数について説明します。

$test = array("Name"=>"Russell"); 
echo value($test,"name"); 

function value(&$row,$field) { 
    // Get the value of a field. 
    foreach($row as $key=>$value) { 
     if (strcasecmp($key,$field)==0) { 
      return $value; 
     } 
    } 
    throw new Exception("Field $field wasn`t found."); 
} 
+0

ラッセルありがとう、私はそれがtricfkを行うと思う、私はドキュメントを誤読して、SELECTクエリで使用できるスイッチがあると思っていた。あなたは.iniファイルでハードコードすることができますが、本当にaveではありません。私は行ってみたい。私はこれを試してみて、それが誰の作品かを見てみましょう。 – Cain

関連する問題