phpmyadminで、自身によって以下のSQL文を記入して実行しようとしました。
記入したSQL文 「 SELECT * FROM `test` WHERE `lang` = 'テスト' 」
すると、以下の文章がでてしまいます。
SQL にエラーがあるようです。下に MySQL サーバのエラー出力が出ているようなら問題の解析に役立つかもしれません
ERROR: 引用符が閉じていません @ 40
STR: '
SQL: SELECT * FROM `test` WHERE `lang` = \'テスト\'
LIMIT 0, 30
どうやら、SQL文を自身で入力実行しようとすると、自動的に特殊文字を変換しようとしているように見受けられるのです。
特殊文字を変換せず、そのままSQL文を実行できるような設定をしたいと思っているのですがご存知でしょうか?
解決方法がございましたらご教授いただければと思っております。
バージョンは「phpMyAdmin - 2.11.10.1」となっております。
シングルクォートがエスケープされているならば、
php.iniで magic_quotes_gpc = on になっている可能性がありそうです。
offにすべく確認と変更を行いましょう。
SELECT * FROM `test` WHERE `lang` = "テスト";
ではどうでしょう。
ご回答ありがとうございます。
ダブルクォーテーションでの方法を参考にさせていただきます。
http://web.arena.ne.jp/suitex/support/manual/database/mysql/highspec/phpMyAdmin.html#MYSQL07
SELECT * FROM test WHERE lang = "テスト"
とやってみたらいかがでしょうか?
ご回答ありがとうございます。
ダブルクォーテーションでの方法を参考にさせていただきます。
フィールド名を’’でくくるからでは ?
通常のSQLで、くくってるのを見たことはない。
AccessのSQLとかでは見たことはある。
ご回答ありがとうございます。
参考にさせていただきます。
シングルクォートがエスケープされているならば、
php.iniで magic_quotes_gpc = on になっている可能性がありそうです。
offにすべく確認と変更を行いましょう。
ご回答ありがとうございました。
回答にありますとおり、phpの設定ファイルを確認し、
magic_quotes_gpcを確認いたしましたところSQL文が期待通りに実行しました。
大変参考になるご回答、ありがとうございました。
ご回答ありがとうございました。
2012/05/05 21:25:11回答にありますとおり、phpの設定ファイルを確認し、
magic_quotes_gpcを確認いたしましたところSQL文が期待通りに実行しました。
大変参考になるご回答、ありがとうございました。