2010-12-13 5 views
1

可能性の重複:
Warning: mysql_fetch_* expects parameter 1 to be resource, boolean given error取得MINとMAX値

私は6列を持つテーブルを持っています。
最初の3つ(id、channel、date)が主キーとして設定されます。

与えられたチャンネル/日付のid列のMIN値とMAX値を取得したいと思います。 問題は、クエリでMINとMAXを使用しているときにWHEREを使用できないようです。

そのように働くだろう何かを得るためにきれいな方法があります:

SELECT MIN(id), MAX(id) FROM table WHERE channel = xxxx AND date = yyyy ? 

UPDATE

申し訳ありませんが、エラーを含めることを忘れていました。

+3

これは機能するはずです。どのようなエラーが出ますか? –

+0

あなたは何を得ていますか? –

+1

申し訳ありません、このエラーを含めるのを忘れてしまいました。結果を解析するときの結果は次のとおりです。「警告:mysql_fetch_row()は、パラメータ1がリソースであり、ブール値が与えられていることを期待しています」。 – shroom

答えて

2

あなたのクエリが正常に動作する必要がありますが、私はあなたのSQL構文でエラーが発生していると思う:

あなたはこのような何かをしたいと思います。

パラメータを引用符で囲みましたか?

SELECT MIN(id), MAX(id) 
FROM table 
WHERE channel = 'blabla' AND date = '2010-12-13' 

あなたは、あなたが間違っていたものをMySQLを尋ねるべきWarning: mysql_fetch_row() expects parameter 1 to be resource, boolean givenエラーを取得していること、書いたので。 mysql_query()コールの後に次の行を追加すると、この行を追加できます。

echo mysql_error(); 
+0

ありがとう、それは私の問題を解決するのに役立ちました、私は間違った列を提供していた私のコードのどこかにタイプミスがありました...最も簡単なエラーは見つけるのが最悪です... – shroom

1

問題は、あなたのコードはクエリの一部については結果を引っ張っていないことである:「警告:は、mysql_fetch_row()パラメータ1がリソースであることを期待し、ブール値が与えられた」、とmysql_queryFALSEを返します。ここで結果を解析するとき、私は何を得るのですクエリが結果を返さない場合そのFALSEの値をmysql_fetch_rowに渡すと、表示されているエラーメッセージが返されます。

$results = mysql_query($your_query); 
if ($results) { 
    // Work with $results here 
} 
+0

はい、問題は、テスト実行のための一般的な値を提供したので結果が見つかるはずです。今のところ、チャンネル列は各行で同じ値を持ちます(日付1の場合も同様です)。そして、それはWHERE条件なしで完璧に動作します。ありがとうございました:) – shroom

+0

@shroom:実際のコードと多少のサンプルデータ、サンプルの結果を投稿できますか? – FrustratedWithFormsDesigner