phpmyadminで、自身によってSQL文を記入して実行した場合


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」となっております。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2012/05/05 21:26:23
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:windofjuly No.4

回答回数2625ベストアンサー獲得回数1149

ポイント85pt

シングルクォートがエスケープされているならば、
php.iniで magic_quotes_gpc = on になっている可能性がありそうです。
offにすべく確認と変更を行いましょう。

id:nagato-yuki

ご回答ありがとうございました。
回答にありますとおり、phpの設定ファイルを確認し、
magic_quotes_gpcを確認いたしましたところSQL文が期待通りに実行しました。

大変参考になるご回答、ありがとうございました。

2012/05/05 21:25:11

その他の回答3件)

id:hiromaca No.1

回答回数8ベストアンサー獲得回数0

ポイント5pt

SELECT * FROM `test` WHERE `lang` = "テスト";
ではどうでしょう。

id:nagato-yuki

ご回答ありがとうございます。
ダブルクォーテーションでの方法を参考にさせていただきます。

2012/05/05 21:23:37
id:taknt No.2

回答回数13539ベストアンサー獲得回数1198

ポイント5pt

http://web.arena.ne.jp/suitex/support/manual/database/mysql/highspec/phpMyAdmin.html#MYSQL07

 SELECT * FROM test WHERE lang = "テスト"

とやってみたらいかがでしょうか?

id:nagato-yuki

ご回答ありがとうございます。
ダブルクォーテーションでの方法を参考にさせていただきます。

2012/05/05 21:24:19
id:taroe No.3

回答回数1099ベストアンサー獲得回数132

ポイント5pt

フィールド名を’’でくくるからでは ?

通常のSQLで、くくってるのを見たことはない。

AccessのSQLとかでは見たことはある。

id:nagato-yuki

ご回答ありがとうございます。
参考にさせていただきます。

2012/05/05 21:24:23
id:windofjuly No.4

回答回数2625ベストアンサー獲得回数1149ここでベストアンサー

ポイント85pt

シングルクォートがエスケープされているならば、
php.iniで magic_quotes_gpc = on になっている可能性がありそうです。
offにすべく確認と変更を行いましょう。

id:nagato-yuki

ご回答ありがとうございました。
回答にありますとおり、phpの設定ファイルを確認し、
magic_quotes_gpcを確認いたしましたところSQL文が期待通りに実行しました。

大変参考になるご回答、ありがとうございました。

2012/05/05 21:25:11

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません