如何通过PHP检索COUNT(*)语句的结果

如何通过PHP检索COUNT(*)语句的结果,php,mysql,Php,Mysql,如何使用PHP检索以下COUNT(*)MYSQL语句的结果 MYSQL $sql= mysql_query (" select count(*) from orders o WHERE order_status IN ('Printed Order', 'Charged Order', 'Exchanged Order', 'Refund

如何使用PHP检索以下COUNT(*)MYSQL语句的结果

MYSQL

$sql= mysql_query ("
                    select count(*)
                    from orders o
                    WHERE order_status IN
                    ('Printed Order', 'Charged Order', 'Exchanged Order', 'Refunded Order', 'Cancelled Order')
                    GROUP BY FIELD
                    (order_status,'Printed Order', 'Charged Order', 'Exchanged Order', 'Refunded Order', 'Cancelled Order')
                  ");
上述查询的结果

count(*)
226
19130
593
2603
2892
我已尝试使用以下代码按顺序检索每一行-

PHP

$row = mysql_fetch_row($sql);
echo $row[0];
echo $row[1];
echo $row[2];
echo $row[3];
echo $row[4];
这将产生以下错误:
注意:未定义的偏移量:1…


我知道我遗漏了一些非常简单的内容,但请有人告诉我调用COUNT(*)查询结果的正确方法。

您的查询返回5行。必须在其上循环并显示列:

while($row = mysql_fetch_row($sql)){
    echo $row[0];
}
另见

为计数使用别名也是有意义的

$sql= mysql_query = "
                    select count(*) as countValue
                    from orders o
                    WHERE order_status IN
                    ('Printed Order', 'Charged Order', 'Exchanged Order', 'Refunded Order', 'Cancelled Order')
                    GROUP BY FIELD
                    (order_status,'Printed Order', 'Charged Order', 'Exchanged Order', 'Refunded Order', 'Cancelled Order')
                  ";

while($row = mysql_fetch_row($sql)){
    echo $row["countValue"];
}

警告:从PHP 5.5.0开始,mysql_uuu扩展已被弃用,将来将被删除。相反,应该使用MySQLi或PDO_MySQL扩展

查询返回5行。必须在其上循环并显示列:

while($row = mysql_fetch_row($sql)){
    echo $row[0];
}
$sql= mysql_query ("
                    select count(*) as nbre
                    from orders o
                    WHERE order_status IN
                    ('Printed Order', 'Charged Order', 'Exchanged Order', 'Refunded Order', 'Cancelled Order')
                    GROUP BY FIELD
                    (order_status,'Printed Order', 'Charged Order', 'Exchanged Order', 'Refunded Order', 'Cancelled Order')
                  ");


echo $row[0]['nbre'];
另见

为计数使用别名也是有意义的

$sql= mysql_query = "
                    select count(*) as countValue
                    from orders o
                    WHERE order_status IN
                    ('Printed Order', 'Charged Order', 'Exchanged Order', 'Refunded Order', 'Cancelled Order')
                    GROUP BY FIELD
                    (order_status,'Printed Order', 'Charged Order', 'Exchanged Order', 'Refunded Order', 'Cancelled Order')
                  ";

while($row = mysql_fetch_row($sql)){
    echo $row["countValue"];
}

警告:从PHP 5.5.0开始,mysql_uuu扩展已被弃用,将来将被删除。相反,应该使用MySQLi或PDO_MySQL扩展

您需要添加循环来获取所有数据,并使用mysqli而不是mysql

$sql= mysql_query ("
                    select count(*) as nbre
                    from orders o
                    WHERE order_status IN
                    ('Printed Order', 'Charged Order', 'Exchanged Order', 'Refunded Order', 'Cancelled Order')
                    GROUP BY FIELD
                    (order_status,'Printed Order', 'Charged Order', 'Exchanged Order', 'Refunded Order', 'Cancelled Order')
                  ");


echo $row[0]['nbre'];
像这样的

 $sql= "select count(*) as total from orders o WHERE order_status IN
       ('Printed Order', 'Charged Order', 'Exchanged Order', 'Refunded Order', 'Cancelled Order') GROUP BY FIELD (order_status,'Printed Order', 'Charged Order', 'Exchanged Order', 'Refunded Order', 'Cancelled Order')"

$result = mysqli_query($con, $sql);

while($row = mysqli_fetch_array($result)) {
   echo $row['total'];
   echo "<br>";
}
$sql=“选择count(*)作为订单状态为的订单的总计
(‘打印订单’、‘收费订单’、‘交换订单’、‘退款订单’、‘取消订单’)按字段分组(订单状态、‘打印订单’、‘收费订单’、‘交换订单’、‘退款订单’、‘取消订单’)
$result=mysqli\u查询($con,$sql);
while($row=mysqli\u fetch\u数组($result)){
echo$row['total'];
回声“
”; }
您也可以使用相同的方法处理mysql而不是mysqli,但mysqli在将来的使用中会更好

$result = mysql_query($sql);

while($row = mysql_fetch_row($sql)){
   echo $row['total'];
   echo "<br>";
}
$result=mysql\u查询($sql);
while($row=mysql\u fetch\u row($sql)){
echo$row['total'];
回声“
”; }
您需要添加循环来获取所有数据,并使用mysqli而不是mysql

像这样的

 $sql= "select count(*) as total from orders o WHERE order_status IN
       ('Printed Order', 'Charged Order', 'Exchanged Order', 'Refunded Order', 'Cancelled Order') GROUP BY FIELD (order_status,'Printed Order', 'Charged Order', 'Exchanged Order', 'Refunded Order', 'Cancelled Order')"

$result = mysqli_query($con, $sql);

while($row = mysqli_fetch_array($result)) {
   echo $row['total'];
   echo "<br>";
}
$sql=“选择count(*)作为订单状态为的订单的总计
(‘打印订单’、‘收费订单’、‘交换订单’、‘退款订单’、‘取消订单’)按字段分组(订单状态、‘打印订单’、‘收费订单’、‘交换订单’、‘退款订单’、‘取消订单’)
$result=mysqli\u查询($con,$sql);
while($row=mysqli\u fetch\u数组($result)){
echo$row['total'];
回声“
”; }
您也可以使用相同的方法处理mysql而不是mysqli,但mysqli在将来的使用中会更好

$result = mysql_query($sql);

while($row = mysql_fetch_row($sql)){
   echo $row['total'];
   echo "<br>";
}
$result=mysql\u查询($sql);
while($row=mysql\u fetch\u row($sql)){
echo$row['total'];
回声“
”; }
您的查询返回5行,而您只获取第一行。由于只有one@juergend-您能举一个简单的例子说明如何遍历这些行吗?谢谢您的查询返回5行,您只获取第一行。请迭代行,而不是列,因为只有one@juergend-您能举一个简单的例子说明如何遍历这些行吗?谢谢,对不起,忘了它。。。我只想提一下,他应该给count添加一个别名(*)是的,对不起,算了吧。。。我只想提一下,他应该为count(*)添加一个别名