尝试在php中使用count(*)时接收未定义的变量

时间:2012-10-29 15:34:02

标签: php mysql

我想显示销售人员的销售/购买数量。我有一个搜索框,当我输入他们的名字时,它应该带回一个号码。所以要计算总购买量我使用此代码:

<?php

mysql_connect ("****", "****","****")  or die (mysql_error());
mysql_select_db ("*******");

 $term = $_POST['term'];


$sql = mysql_query("select count(*) from car_orders where side='buy' and sales_id like '%$term%'");


while ($row = mysql_fetch_array($sql)){
 echo 'owner_id: '.$row['sales_id'];
echo '<br/> side '.$row['side'];
echo '<br/><br/>';
 }
?>

我试过找出如何让计数数字在页面上显示并失败。请有人帮忙

2 个答案:

答案 0 :(得分:2)

您需要添加ALIAS

select count(*) AS totalCOUNT from car_orders where ....

现在您可以使用

获取值
$row['totalCOUNT']

但是查看了您的查询,预测了sales_idside。以下查询仅假设

select `sales_id`,`side`, count(*) AS totalCOUNT
from car_orders 
where side='buy' and 
      sales_id like '%$term%'
GROUP BY `sales_id`,`side`

现在您可以获取所有值

$row['sales_id']
$row['side']
$row['totalCOUNT']

该查询易受SQL Injection攻击。请花点时间阅读下面的文章如何保护它,

答案 1 :(得分:2)

  1. 您只选择COUNT(*)列,而不是其他任何内容。
  2. 您未使用mysql_fetch_assoc(),因此它不是关联数组。
  3. 不推荐使用mysql_函数,请使用mysqli或PDO。