電子書籍の厳選無料作品が豊富!

さくらサーバーで、プレミアムプランで契約しています。

PHP4.3.10、MySQL 4.0.26で、以下のPHPファイルを埋め込んだphpファイルを実行すると、エラーが生じます。なんか、初歩的なことを勘違いしているのではないかと言う気がするのですが、何が問題なのでしょうか。

データベースのユーザー名は、xxx
パスワードは、yyy
データベース名は、xxx(一つのみ割り当て)
Userというテーブルがあります。

<?php
$conn = mysql_connect("mysql11.db.sakura.ne.jp","xxx","yyy");
mysql_select_db("xxx", $conn);
$sql = 'SELECT * from User';
mysql_query($sql, $conn));
?>

A 回答 (2件)

すみません#1です。

いま試しにやってみたらテーブル名「User」は通りますね。


さらにいま気がついたのですが

mysql_query($sql, $conn));

この最後の括弧が2つあるのですが、
これだったりしませんかね。
    • good
    • 0
この回答へのお礼

ぎゃああああ。動きました。どうもありがとうございます!!!

括弧を消してみたら、、、正常に動きました。って、こんな単純な文法ミスに2日間気づかないなんて馬鹿でした。エディタをよく叱っておきます。(すみませんm(_ _)m)

わざわざテストまでしていただいて、どうもありがとうございました。

お礼日時:2005/12/11 16:58

テーブル名「User」が関数名とかぶっている予約語だからではないでしょうか。



$sql = 'SELECT * from `User`';

のようにテーブル名を「`」で囲んでみてください。


MySQL 4.1 リファレンスマニュアル :: 8.7 MaxDB の予約語:
http://dev.mysql.com/doc/refman/4.1/ja/maxdb-res …

参考URL:http://dev.mysql.com/doc/refman/4.1/ja/maxdb-res …

この回答への補足

まさか、Userが予約語だったとは思っていませんでした。迅速な回答ありがとうございます。

しかし、ご助言の通りに、バッククオート(であってますよね?)で囲んでみたのですが、うまく行きません。また、予約語でないReqというテーブルを作ってみて、ソースの該当箇所をReqに置き換えてみたりしましたが、やはり動きませんでした。

$sql = 'SELECT * from `User`';
mysql_query($sql, $conn));
の二行をコメントアウトしてみたところ、正常に動作したので、ここが鬼門なのだと思うのですが。。。

補足日時:2005/12/11 16:51
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!