Autor | Zpráva | ||
---|---|---|---|
saphire Profil |
Zdravim,
mám problém s výpisem údajů z MySQL, server mi při vykonávání tohoto kodu(je to v podstatě příklad z linuxsoft.cz) píše následující chyby: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /www/strankovani.php on line 16 Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /www/strankovani.php on line 43 <?php define ("ROWS", 50); //nadefinovani udaju $db_server= "localhost"; $db_user="home"; $db_name="databaze"; $db_pwd="123456"; //pripojeni databaze //pripojeni k db mysql_connect ($db_server, $db_user, $db_pwd) OR die("Pripojeni k databazi selhalo: ".mysql_error()); mysql_select_db ($db_name) OR die("Nelze vybrat databazi: ".mysql_error()); //nastaveni nazvu tabulky define ("TABLE_NAME", clanky); //skript z LinuxSoft if (!isset($_GET["celkem"])) //pokud nevíme, kolik bude záznamů tak to zjistíme... { $vysledek=mysql_query("select * as pocet from TABLE_NAME"); $zaznam= mysql_fetch_array($vysledek); $celkem=$zaznam["pocet"]; } else { $celkem=$_GET["celkem"]; } if ($celkem>ROWS) { if (!isset($_GET["od"])) $od=1; else $od=$_GET["od"]; $vysledek=mysql_query("select * from TABLE_NAME"." limit ".($od-1).", ".ROWS); echo "Záznamů: ".$od."-"; echo (($od+ROWS-1)<=$celkem)?($od+ROWS-1):$celkem; echo " z celkem $celkem "; //začátek - vytvoř odkaz pouze pokud nejsme na začátku if ($od==1) echo "Začátek | "; else echo "<a href=\"".$_SERVER["PHP_SELF"]."?celkem=$celkem&od=1\">První</a> | "; //zpět - vytvoř odkaz pouze pokud nejsme v prvních ROWS if ($od<ROWS) echo "Předchozí | "; else echo "<a href=\"".$_SERVER["PHP_SELF"]."?celkem=$celkem&od=".($od-ROWS)."\">Předchozí</a> | "; //další - vytvoř, pouze pokud nejsme v posledních ROWS if ($od+ROWS>$celkem) echo "Následující | "; else echo "<a href=\"".$_SERVER["PHP_SELF"]."?celkem=$celkem&od=".($od+ROWS)."\">Následující</a> | "; //poslední - to je posledních (zbytek po dělení ROWS) záznamů if ($od>$celkem-ROWS) echo "Poslední <BR>"; else echo "<a href=\"".$_SERVER["PHP_SELF"]."?celkem=$celkem&od=".($celkem-$celkem%ROWS+1)."\">Konec</a><BR>"; } if(mysql_num_rows($vysledek) != 0){ while($zaznam = mysql_fetch_array($vysledek, MYSQL_NUM)){ echo $zaznam["0"]." ".$zaznam["1"]."<BR>\n";}} mysql_close() ?> Předem děkuji! Moderátor Alphard: Opravil jsem nadpis, nedalo se na to dívat.
|
||
Beavis Profil |
#2 · Zasláno: 26. 9. 2009, 20:20:59 · Upravil/a: Beavis
saphire
<ot> Výpis se píše s tvrdým i. </ot> Máš v databázi příslušnou tabulku, ve které je dostatek dat, aby se dala stránkovat? |
||
Alphard Profil |
#3 · Zasláno: 26. 9. 2009, 20:28:33
Je tam spousta chyb:
"select * as pocet" alias pro * nebude fungovat "select * as pocet from TABLE_NAME" konstanta nesmí být součástí řetězce Dále si vypište echo mysql_error(). |
||
saphire Profil |
#4 · Zasláno: 26. 9. 2009, 23:05:44 · Upravil/a: saphire
Beavis,Aphard:
Omlouvám se za ten nadpis:-|. Beavis: Tabulka samozřejmě existuje a data jsou taky. Aphard: Celé sem to prošel podle přiručky a opravil to, (to mysql_close() tam taky původně nebylo :), Díky! |
||
Časová prodleva: 15 let
|
0