-3

重複の可能性:
警告:mysql_fetch_ *はパラメーター1がリソースであると想定しており、ブール値でエラーが発生します

これの何が問題なのですか?最初の2つは正常に動作することを選択し、他の2つはこのエラーを返します。

警告:mysql_fetch_assoc()は、パラメーター1がリソースであると想定しています。ブール値が指定されています

<?php 
$result=mysql_query("SELECT count(*) as total from urls WHERE username = '$username' AND approved = 'yes' ");
  $data=mysql_fetch_assoc($result);
echo $data['total'];?></td>

 <td><?php 
$result2=mysql_query("SELECT count(*) as total2 from urls WHERE username = '$username' AND approved = 'no' ");
  $data2=mysql_fetch_assoc($result2);
echo $data2['total2'];?></td>

  <td><?php 
$result3=mysql_query("SELECT count(*) as total3 from buy WHERE username = '$username' AND status = 'active' ");
  $data=mysql_fetch_assoc($result3);
echo $data['total3'];?></td>

  <td><?php 
$result4=mysql_query("SELECT count(*) as total4 from buy WHERE username = '$username' AND status = 'complete' ");
 $data=mysql_fetch_assoc($result4);
echo $data['total4'];?></td>
4

1 に答える 1

0

次のように、1 つのクエリでこれを行うことができます。

SELECT
  SUM(CASE WHEN approved = 'yes'      THEN 1 ELSE 0 END) AS Total1,
  SUM(CASE WHEN approved = 'no'       THEN 1 ELSE 0 END) AS Total2,
  SUM(CASE WHEN status   = 'active'   THEN 1 ELSE 0 END) AS Total3,
  SUM(CASE WHEN status   = 'complete' THEN 1 ELSE 0 END) AS Total4
FROM urls 
WHERE username = '$username';
于 2012-12-28T16:11:38.640 に答える