109 votes

select count(*) from table of mysql in php

Je suis capable d'obtenir à la fois la valeur et la ligne du résultat de la requête mysql.

Mais j'ai du mal à obtenir la sortie unique d'une requête, par exemple :

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

J'ai besoin que le résultat s'affiche. Mais je n'obtiens pas le résultat.

J'ai essayé avec les méthodes suivantes :

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

Mais je n'ai pas réussi à afficher (obtenir) la valeur réelle.

10 votes

A présent, vous devriez utiliser AOP .

227voto

Framework Points 32799

Vous devez aliaser l'agrégat en utilisant l'attribut as afin de l'appeler à partir de mysql_fetch_assoc

$result=mysql_query("SELECT count(*) as total from Students");
$data=mysql_fetch_assoc($result);
echo $data['total'];

14 votes

Après la version 5.x, cette requête ne fonctionnera pas. Il suffit de remplacer mysql par mysqli pour qu'elle fonctionne.

33voto

bmaupin Points 1428

Si vous n'avez besoin que de la valeur :

$result = mysql_query("SELECT count(*) from Students;");
echo mysql_result($result, 0);

2 votes

echo mysql_result(mysql_query("SELECT count(*) from Students;"),0); c'est économiser une variable inutile

0 votes

Correct ; ma réponse était adaptée à la question.

5 votes

@eichertc l'interpréteur php a la variable toujours interne, car il a besoin d'avoir le résultat en mémoire d'une manière ou d'une autre. Donc votre façon de faire ne fait que rendre le code plus difficile à lire et à maintenir, IMHO.

17voto

avetarman Points 909
$result = mysql_query("SELECT COUNT(*) AS `count` FROM `Students`");
$row = mysql_fetch_assoc($result);
$count = $row['count'];

Essayez ce code.

14voto

Lee Davis Points 1842

Veuillez commencer à utiliser PDO.

mysql_* est déprécié depuis PHP 5.5.0 et sera entièrement supprimé dans 7. Facilitons la mise à jour et commençons à l'utiliser dès maintenant.

$dbh = new \PDO($dsn, $user, $password);
$sth = $dbh->prepare('SELECT count(*) as total from Students');
$sth->execute();
print_r($sth->fetchColumn());

7voto

fatnjazzy Points 3111
$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;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X