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

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

<?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/>';
 }
?>

我尝试找出如何仅将计数值显示页面上而失败.请有人帮忙

解决方法:

您需要添加ALIAS

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

现在您可以使用它来获取价值

$row['totalCOUNT']

但在您的查询中看到,sales_id和side都没有被投影.以下查询仅是一个假设

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的攻击.请花些时间阅读下面的文章,以了解如何避免这种情况的发生,

> How can I prevent SQL injection in PHP?

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...