выберите количество (*) из таблицы MySQL в PHP - PullRequest
85 голосов
/ 02 августа 2011

Я могу получить как значение, так и строку результата запроса mysql.

Но я изо всех сил пытаюсь получить один вывод запроса.Например:

$result = mysql_query("SELECT COUNT(*) FROM Students;");

Мне нужен результат для отображения.Но я не получаю результат.

Я пытался использовать следующие методы:

  1. mysql_fetch_assoc()
  2. mysql_free_result()
  3. mysql_fetch_row()

Но мне не удалось отобразить (получить) фактическое значение.

Ответы [ 16 ]

185 голосов
/ 02 августа 2011

Вам нужно создать псевдоним агрегата, используя ключевое слово as, чтобы вызвать его из mysql_fetch_assoc

$result=mysql_query("SELECT count(*) as total from Students");
$data=mysql_fetch_assoc($result);
echo $data['total'];
32 голосов
/ 13 мая 2013

Если вам нужно только значение:

$result = mysql_query("SELECT count(*) from Students;");
echo mysql_result($result, 0);
12 голосов
/ 02 августа 2011
$result = mysql_query("SELECT COUNT(*) AS `count` FROM `Students`");
$row = mysql_fetch_assoc($result);
$count = $row['count'];

Попробуйте этот код.

8 голосов
/ 19 августа 2015

Пожалуйста, начните использовать PDO.

mysql_ * устарела с PHP 5.5.0 и будет полностью удалена в 7. Давайте упростим обновление и начнем использовать его сейчас.

$dbh = new \PDO($dsn, $user, $password);
$sth = $dbh->prepare('SELECT count(*) as total from Students');
$sth->execute();
print_r($sth->fetchAll());
6 голосов
/ 02 августа 2011
$num_result = mysql_query("SELECT count(*) as total_count from Students ") or exit(mysql_error());
$row = mysql_fetch_object($num_result);
echo $row->total_count;
2 голосов
/ 12 сентября 2018

Для пользователей mysqli код будет выглядеть так:

$mysqli = new mysqli($db_host, $db_user, $db_pass, $db_name);

$result = $mysqli->query("SELECT COUNT(*) AS Students_count FROM Students")->fetch_array();
var_dump($result['Students_count']);

или

$mysqli = new mysqli($db_host, $db_user, $db_pass, $db_name);

$result = $mysqli->query("SELECT COUNT(*) FROM Students")->fetch_array();
var_dump($result[0]);
1 голос
/ 26 декабря 2018

Вам нужно создать псевдоним агрегата, используя ключевое слово as, чтобы вызвать его из mysqli_fetch_assoc

$result=mysqli_query($conn,"SELECT count(*) as total from Students");
$data=mysqli_fetch_assoc($result);
echo $data['total'];
1 голос
/ 06 апреля 2018

Я думаю, что в вашем коде есть опечатка, и вы должны удалить точку с запятой через:

$result = mysql_query("SELECT COUNT(*) FROM Students;");
1 голос
/ 05 ноября 2017

С mysql v5.7.20, вот как я смог получить количество строк из таблицы, используя PHP v7.0.22:

$query = "select count(*) from bigtable";
$qresult = mysqli_query($this->conn, $query);
$row = mysqli_fetch_assoc($qresult);
$count = $row["count(*)"];
echo $count;

Третья строка вернет структуру, которая выглядит следующим образом:

array(1) {
   ["count(*)"]=>string(4) "1570"
}

В этом случае завершающий оператор echo вернется:

1570
1 голос
/ 03 августа 2017

вы также можете использовать это и обновиться до mysqli_ (прекратить использовать mysql_* расширение ...)

$result = mysqli_query($conn, "SELECT COUNT(*) AS `count` FROM `Students`");
$row = mysqli_fetch_array($result);
$count = $row['count'];
echo'$count';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...