如何计算mysql

时间:2016-01-25 11:27:47

标签: php mysqli

我的print_r值是

Array ( [0] => stdClass Object ( [count(*)] => 1 ) )

使用foreach如何获取计数值行 我喜欢这样,

foreach($availability as $row)
echo $row->count(*);

但我无法得到答案。我得到了解析错误

  

解析错误:语法错误,意外' *',期待')'

3 个答案:

答案 0 :(得分:2)

使用大括号。

<?php
$obj = new stdClass();
$obj->{'count(*)'} = 1;
echo '<pre>';print_r($obj->{'count(*)'});echo '</pre>';
?>

或者,使用这样的变量变量:

<?php
$obj = new stdClass();
$obj->{'count(*)'} = 1;
$var="count(*)";
echo '<pre>';print_r($obj->$var);echo '</pre>';
?>

根据@Jon Stirling的评论,另一个解决方案可能是使用count(*)的别名。

修改您的SQL查询,如:

$yourQuery = "SELECT count(*) as cnt FROM yourTable";

并且,在您的PHP代码中,使用

echo $row->cnt;

Working Demo 1

Working Demo 2

答案 1 :(得分:0)

除了使用count语句的别名外,请使用mysqli_fetch_array()而不是mysqli_fetch_object()

$query = "SELECT COUNT(*) FROM myTable";

if ($result = $mysqli->query($query)) {

    /* fetch as array */
    $row = $result->fetch_array();
    printf ("Num rows: %d", $row["count(*)"]);

    $result->free();
}

答案 2 :(得分:0)

将您的查询修改为

$yourQuery = "SELECT count(*) as total_row FROM yourTable";
$getResult = mysqli_query($connection, $yourQuery);      

     1. $getTotal_row= mysqli_fetch_object($connection, $getResult);   
    echo "No.of row==" . $getTotal_row->total_row;    

     2. echo "No.of row==" . $getTotal_row=mysqli_num_rows($getResult);

     3. echo "No.of row==" . $getResult->num_rows;