2012-04-06 12 views
1

SQL WHERE句で変数を使用する際に問題があります。私はこのエラーを取得しています:where句に変数を含む行をカウントする

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

コードは次のとおりです。

$sql3= mysql_query("SELECT COUNT($ww) FROM data WHERE $".$ww." = ".$weeknumber." "); 

私が間違って何をしているのですか?

+2

なぜ余分なドル記号はちょうどWHERE' 'の後にあるのでしょうか? – Crontab

+0

あなたは変数が何であるか知っていますか? $ weeknumberは実行時に評価されていますか? – contactmatt

+0

この余分なドルはそれを変数にすることです。koz $ wwはテーブルの行のタイトルをエコーし​​ます。 –

答えて

1

は、なぜあなたは、テーブルの列をカウントしません置くことによって、 COUNT(列名)の列名?

0123そのよう

$sql3= mysql_query("SELECT COUNT(week_num) as wknum FROM data WHERE '$ww' = '$weeknumber'"); 
$counted_weeks["week_num"] 

// $counted_weeks["week_num"] will output your sum 
//week_num would be a column name from your "data" table 
+0

はい行の合計を出力しますがcloumnsの名前を数えますが問題は後です私はweek3 --- 2、week3 ---- 2のような結果を得ているので、 week3 –

+0

私はそれが仕事を得る –

0

$wwは列名を指していると思います。 $weekNumberは明らかに値です。その場合は、お使いのSQLクエリは次のようになります。

$sql3= mysql_query("SELECT COUNT(".$ww.") FROM data WHERE ".$ww." = ".$weeknumber." "); 

私はPHPの男ではないんだけど、私はあなたが正しいPHP構文を持っていると仮定しています。

+0

はい、そのcoloumnnameがあなたのコードdidntの仕事とdidntカウント今すべてで –

+0

あなたは文字列にクエリを割り当てることができますし、それの出力を教えてください.. $ sqlToRun = "SELECT COUNT("。$ ww ")FROMデータWHERE "$ ww。" = "。$ weeknumber。" "; $ sqlToRunの値を – Baz1nga

+0

に教えてください。また、_data_が入っているテーブルデータがあることを確認してください。:/ – Baz1nga

0

私はこれを見ることをお勧めしますlink。 @Crontabに言及したように、なぜwhere節の前にドル記号があるのか​​よく分かりません。

その他の注意点: リンクに記載されているとおり、クエリテキストが正しくエスケープされていることを確認する必要があります。また、私が間違っていない(PHPに慣れていない)場合は、単に引用符を使用するのではなく、テキストを明示的に連結する必要がありますか? ( "SELECT ..."の代わりに... "..."あなたは "SELECT ..." + "..."を実行する必要がありますか)

0

ここでPHPの文字列の書式設定は完璧です。 !それはきれいで読みやすく

$sql3= mysql_query(sprintf("SELECT COUNT(%s) FROM data WHERE %s=%d", $ww, $ww, $weeknumber)); 
+0

です。 –

0

$wwが有効な列名であると$weekNumberが整数であると仮定すると、これは動作するはずです:

$query = "SELECT COUNT(*) AS cnt FROM data WHERE $ww = '$weekNumber'"; 
$rs = mysql_query($query); 
$r = mysql_fetch_assoc($rs); 
echo "Count: {$r['cnt']}"; 
+0

私は$ wwが値が列名である変数だと思います – Baz1nga

+0

mysql_fetch_assoc():指定された引数が有効なMySQL結果リソースではありません –

関連する問題