- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHP+MySQL on さくらサーバー)
PHP+MySQL on さくらサーバーでエラーが発生する問題について
このQ&Aのポイント
- さくらサーバーでプレミアムプランを契約しているが、PHP4.3.10、MySQL 4.0.26でエラーが発生する。データベースのユーザー名は「xxx」、パスワードは「yyy」として、データベース名は「xxx」という一つのテーブル「User」が存在する。
- 問題の原因は不明だが、初歩的なミスが原因かもしれない。さくらサーバーの初期設定やデータベースの接続情報を確認することが必要だ。
- エラーの解決方法は確立していないが、さくらサーバーのサポートに問い合わせることで解決する可能性がある。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
すみません#1です。いま試しにやってみたらテーブル名「User」は通りますね。 さらにいま気がついたのですが mysql_query($sql, $conn)); この最後の括弧が2つあるのですが、 これだったりしませんかね。
その他の回答 (1)
- saintandre
- ベストアンサー率31% (194/607)
回答No.1
テーブル名「User」が関数名とかぶっている予約語だからではないでしょうか。 $sql = 'SELECT * from `User`'; のようにテーブル名を「`」で囲んでみてください。 MySQL 4.1 リファレンスマニュアル :: 8.7 MaxDB の予約語: http://dev.mysql.com/doc/refman/4.1/ja/maxdb-reserved-words.html
質問者
補足
まさか、Userが予約語だったとは思っていませんでした。迅速な回答ありがとうございます。 しかし、ご助言の通りに、バッククオート(であってますよね?)で囲んでみたのですが、うまく行きません。また、予約語でないReqというテーブルを作ってみて、ソースの該当箇所をReqに置き換えてみたりしましたが、やはり動きませんでした。 $sql = 'SELECT * from `User`'; mysql_query($sql, $conn)); の二行をコメントアウトしてみたところ、正常に動作したので、ここが鬼門なのだと思うのですが。。。
お礼
ぎゃああああ。動きました。どうもありがとうございます!!! 括弧を消してみたら、、、正常に動きました。って、こんな単純な文法ミスに2日間気づかないなんて馬鹿でした。エディタをよく叱っておきます。(すみませんm(_ _)m) わざわざテストまでしていただいて、どうもありがとうございました。