Ik heb nu de volgende code


<?php
$query = mysql_query("SELECT count(*) FROM table);
$total = mysql_result($query, 0 ,0);
?>


Dit geeft geen enkel resultaat op 't scherm, ook geen foutmeldingen. weet iemand wat er mis is hier?
COUNT(1)

mysql_result($query, 0);

doe het eens zo

GR. mebus

<?php
$query = mysql_query("SELECT count(*) AS aantal FROM table");
while($info=mysql_fetch_array($query)){
echo $info['aantal'];
}
?>
Alleen dan zonder die while-loop want dat is nutteloos als je maar 1 resultaat krijgt.

En fetch_assoc is iets sneller (ik weet het, het is mierenneuken, maar het zijn gewoon lekkere diertjes dus ik kan er niks aan doen).
@Erik je hebt gelijk maar toch adviseer ik het om zo te doen. kostg geen snelheid en je query is makkelijk uit te breiden met een veld wat vaker dan 1 keer voorkomt
@Klaasjan

Een veld dat meer dan 1 keer voorkomt?

*Net getest
Het is niet mogelijk om twee velden met dezelfde naam te hebben binnen 1 tabel, en ik kan niet echt makkelijk een manier verzinnen waarop je toch meer dan 1 resultaat terug moet krijgen.

Maar ik ben net zoals PHPerik aan het mierenneuken
waarom niet zo;

<?php
$query = mysql_query("SELECT * FROM table);
$total = mysql_result($query);

$aantal = mysql_num rows($total);

echo $aantal;
?>

edit: typo
COUNT is sneller dan mysql_num_rows() omdat je dan niet alle rijen selecteert maar slechts het aantal, dat scheelt dus een paar duizend procent aan data.
Gijs (Armorad) schreef op 08.09.2006 14:52
@Klaasjan

Een veld dat meer dan 1 keer voorkomt?

*Net getest
Het is niet mogelijk om twee velden met dezelfde naam te hebben binnen 1 tabel, en ik kan niet echt makkelijk een manier verzinnen waarop je toch meer dan 1 resultaat terug moet krijgen.

Maar ik ben net zoals PHPerik aan het mierenneuken


Ja Bijv
$sql="SELECT COUNT(*) AS aantal, nog_iets_anders FROM tabel"

Nu heb je toch echt een While nodig en in mijn voorbleed staat hij er alvast
Wout schreef op 08.09.2006 15:00
waarom niet zo;

<?php
$query = mysql_query("SELECT * FROM table);
$total = mysql_result($query);

$aantal = mysql_num rows($total);

echo $aantal;
?>


edit: typo



En doe het dan iig goed

<?php
$query = mysql_query("SELECT * FROM table");

$aantal = mysql_num rows($queryl);

echo $aantal;
?>


Uiteraar ben ik met PHPerik van mening dat je COUNT() moet gebruiken. Gebruik PHP niet voor iets dat je database al kan

Reageren