我的print_r值是
Array ( [0] => stdClass Object ( [count(*)] => 1 ) )
使用foreach如何获取计数值行 我喜欢这样,
foreach($availability as $row)
echo $row->count(*);
但我无法得到答案。我得到了解析错误
解析错误:语法错误,意外' *',期待')'
答案 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;
答案 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;