2016-01-25 3 views
1

Мое значение print_r являетсяКак получить подсчитывать в MySQL

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

Использования Еогеаспа как получить строку значения счетчика я использовал, как это,

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

Но я не могу получить ответ .I получил ошибку разбора

Parse error: syntax error, unexpected '*', expecting ')'

+2

Использование SQL псевдоним будет проще. Например. 'count (*) как mycount'. –

ответ

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

Другим решением может быть использование псевдонима для count(*) согласно комментариев @ Джон Стирлинга.

Изменить Ваш SQL-запрос, как:

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

И, в вашем PHP кода используйте

echo $row->cnt; 

Working Demo 1

Working Demo 2

+0

Спасибо, что я получил ответ –

+0

@ Nisha.A, пожалуйста. – Pupil

0

Кроме того, используя псевдоним для подсчета заявления , используйте 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(); 
} 
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; 
Смежные вопросы