微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尝试在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?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐