Autor Zpráva
dmfzd
Profil
Dobrý den,
Mám následující kód a potřebuji sečíst počty registrovaných mužů:

$sql = 'select sum(muzi) from data';
$soucetmuzi=mysql_query($sql);

echo $soucetmuzi;


Tento dotaz mi vrátí Resource id #5.
Nevíte, kde mám chybu?

Děkuji.
panther
Profil
dmfzd:
Tento dotaz mi vrátí Resource id #5.
ano, tak je to správně.

Přečti si v Manuálu, co mysql_query vrací: „mysql_query() returns a resource on success, or FALSE on error.“.

Při zakládání vlákna ti bylo nabídnuto několik diskusí, které řeší úplně to samé. Proč jsi je ignoroval?
dmfzd
Profil
Tak čím musím query nahradit, aby mi to vrátilo počet?

PS. Ostatní vlákna řešili něco trochu jiného.
panther
Profil
dmfzd:
Ostatní vlákna řešili něco trochu jiného.
to není pravda, vždy se řeší to, že echo mysql_query(...) vratí resource namíto toho, co bylo nespávně plánováno.

Např. Při registrování se objevuje Resource id #10.
dmfzd
Profil
Děkuji, tohoto příspěvku jsem si nevšiml.
Radíte tam, že ten výsledek má prohnat nějakou mysql_fetch_* funkcí.
Stále na to nemohu přijít. Zkusil jsem toto, ale vrací mi to "Array".

$sql = 'select sum(muzi) from data';
$soucet=mysql_query($sql);
$soucetmuzi=mysql_fetch_row($soucet);
 
echo $soucetmuzi;
panther
Profil
dmfzd:
Mysql_fetch_row () returns an numerical array of strings that corresponds to the fetched row, or FALSE“.

Pověz mi, proč když znáš název funkce, se nepodíváš do Manuálu (klikni na její název ve svém příspěvku), kde jsou dole i příklady. Pole nelze vypsat prostým echo, al emusí projít ještě nějakým cyklem, který projede každou jeho položku.
dmfzd
Profil
panther:
ale musí projít ještě nějakým cyklem, který projede každou jeho položku

Takže musím použít while?
Něco jako toto?

$sql = 'select sum(muzi) from data';
$soucet=mysql_query($sql);
while ($soucetmuzi = mysql_fetch_row($soucet))
{
echo $soucetmuzi;
}


Tohle ale také nefunguje.
Velice se omlouvám za Váš čas.
Radek9
Profil
dmfzd:
Mělo by stačit použít $soucet[0]. Koukni se sakra do toho manuálu.
dmfzd
Profil
děkuji moc,
tak už jsem to vyřešil.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: