Autor | Zpráva | ||
---|---|---|---|
Meloun Profil * |
#1 · Zasláno: 29. 6. 2010, 16:17:27
Zdravím vás, pánové (a dámy),
už delší dobu používám v PHP protokol mysqli, který je mi docela sympatický až na jeden problém. Neznám žádnou programátorsky košer cestu jak pomocí něj zjistit počet řádků v databázi. U mysql se to řeší jednoduše: <? $promenna=mysql_result(mysql_query("SELECT COUNT(*) FROM tabulka")); ?> Problém je, že protokol mysqli žádné mysqli_result() není, a tak se chci zeptat jestli je tento způsob zjištění dat přípustný, nebo ne, případně jaké alternativy navrhujete: <? $promenna=0; $vytahnout=mysqli_query($spojovaci_promenna,"SELECT * FROM tabulka"); while($fetchnout=mysqli_fetch_array($vytahnout)){ $promenna++; } ?> Jako kód to vypadá heblovitě, ale na alternativu jsem nepřišel - spojování se SQL ve dvou paralelních protokolech je taky nešikovné (že bych si tam kvůli mysql_result() dával connect na mysql protokol), takže spoléhám na radu :-) |
||
Meloun Profil * |
#2 · Zasláno: 29. 6. 2010, 16:28:33
protokol mysqli žádné mysqli_result() není - samozřejmě to mělo být "v protokolu mysqli žádné mysqli_result() není", nebo "Protokol mysqli žádné mysqli_result() nemá", pardon :-)
|
||
Jan Tvrdík Profil |
#3 · Zasláno: 29. 6. 2010, 16:29:42 · Upravil/a: Jan Tvrdík
Meloun:
MySQLi nepoužívám, ale tvou navrhované řešení je skutečné špatné, takže jsem rád, že sám cítíš potřebu hledat lepší řešení :) Snad bude fungovat něco takového: $res = mysqli_query($spojovaci_promenna, "SELECT COUNT(*) FROM tabulka"); $row = mysqli_fetch_row($res); $promenna = $row[0]; Alternativně si můžeš dopsat vlastní funkci: function mysqli_getFirstResult($res) { $row = mysqli_fetch_row($res); return $row[0]; } A pak můžeš psát: $promenna = mysqli_getFirstResult(mysqli_query($spojovaci_promenna,"SELECT * FROM tabulka")) Edit: změněno mysqli_fetch_assoc na mysqli_fetch_row :) |
||
Meloun Profil * |
#4 · Zasláno: 29. 6. 2010, 16:33:24
Jan Tvrdík:
Chytré :-) děkuji. A špatné je fakt okatě, to je jenom neřest z nouze :) |
||
Meloun Profil * |
#5 · Zasláno: 29. 6. 2010, 16:34:47
Ad #4 - ten můj pokus je špatný okatě. Jádro pudla je tam, že mysqli_fetch_assoc() ještě vůbec neznám - holt mám ještě notné mezery
|
||
Časová prodleva: 14 let
|
0