1

SQLでカウントの戻り値を表示しようとすると、「mysql_fetch_array()はパラメーター1がリソースであると想定しています。nullが指定されています」というエラーが発生し続けます。ここに私のコードがあります。

$query="SELECT med_rec_ID, COUNT(med_rec_ID) 
        FROM med_issue 
        WHERE MONTH(issue_date) = MONTH('2013-02-05')
        GROUP BY med_rec_ID";
$result= mysql_query($query);
while($count = mysql_fetch_array($display3)){
    echo $count[0];
}

SQL だけでクエリを実行しようとしましたが、2 つの列 (med_rec_ID と COUNT) が表示されます。カウントを表示してエラーを修正するにはどうすればよいですか?

4

3 に答える 3

1

まず第一に、mysql_*関数は廃止されているため使用しないでください。mysqliまたはを使用しPDOます。

次に、fetch_array関数に渡しているものを見てください。

あなたはおそらく次のようなことをしたいと思うでしょう:

$link = mysqli_connect("localhost", "admin", "pass", "db_name");
$result = mysqli_query($link, $sql);
while($row = $result->fetch_array(MYSQLI_ASSOC)){ 
$medIds[] = $row['med_rec_ID'];
... 
}

次に、エイリアスを指定してカウントを修正します。

実際には、DB へのアクセス方法をより安全な方法で保存する必要があることに注意してください。ただし、これは例を説明するためだけに使用します。これはかなり良い投稿です:グローバル構成ファイルを作成するには?

于 2013-02-05T07:51:01.620 に答える
0

エイリアスを付けます。

SELECT 
  med_rec_ID, 
  COUNT(med_rec_ID) TheCount
FROM med_issue 
where MONTH(issue_date) =     MONTH('2013-02-05') GROUP BY med_rec_ID

その後、TheCountwhile ループ内でその列を選択できます。$row['TheCount']$result

$result = mysql_query($query);

while($row = mysql_fetch_array($result)){
    echo $row['TheCount'];
}
于 2013-02-05T07:42:43.580 に答える
0

あなたのクエリは実行されていますか?そのエラーは、クエリが失敗した場合に mysql_query がリソースを返さない場合に発生します

$query="SELECT med_rec_ID, COUNT(med_rec_ID) as C FROM med_issue where MONTH(issue_date) =     MONTH('2013-02-05') GROUP BY med_rec_ID";
$result= mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_assoc($result))
   {
    echo $row["C"];
   }

注: もう mysql_* 関数を使用しないでください

于 2013-02-05T07:44:00.837 に答える