0

私のウェブサイトに次のようなエラーがありました

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ../../../guestbook.php on line 117

ライン117を確認すると

while ($row=mysql_fetch_array($query)) {

そして、私のクエリは間違っていると思います...

$query = mysql_query("SELECT * FROM guestbook WHERE permission='0' AND ignore='0' ORDER BY gbid DESC");

AND という単語を使用すると常にエラーが発生すると思いますが、TWO WHERE 条件の作成方法がわかりません。

これを解決するために必要な説明やコードが不足している場合は、編集できるように依頼してください。

ありがとうございました!:)

4

3 に答える 3

3

クエリが間違っているかどうかを確認する簡単な方法:

$result = mysql_query(... your query here ...) or die(mysql_error());
                                              ^^^^^^^^^^^^^^^^^^^^^^

何か問題がある場合は、単に mysql に知らせてください。エラー メッセージは、何らかの理由でクエリが失敗したことを意味します。成功したと盲目的に想定し、その後の操作で mysql_query が返すブール値 FALSE を使用しようとしました。DB 操作が成功したと想定しないでください。


編集:あなたのエラーメッセージを考えると、それignoreは予約語であるためです。バックティックでエスケープします。

... AND `ignore`=0 ORDER BY ...
        ^      ^

代わりに mysql がそれをフィールド名として扱うように強制します。

于 2012-05-26T04:05:23.867 に答える
1

無視はmysqlの予約語です。(http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html)

あなたは単に試すことができます

$query = mysql_query("SELECT * FROM guestbook WHERE `permission`= 0 AND `ignore`=0 ORDER BY gbid DESC");

または列名を変更します

于 2012-05-26T04:39:54.560 に答える
0

これを試して

$query = mysql_query("SELECT * FROM guestbook WHERE permission= 0 AND ignore=0 ORDER BY gbid DESC");

許可と無視が TYPE INT の場合、引用符は必要ありません...

于 2012-05-26T04:09:42.770 に答える