Autor Zpráva
SOtas
Profil
Zdravím šikovné programátory. Mám problémek se kterým si nevím rady, začínám s php a mysql a tak jsem si chtěl vyzkoušet příklad z knížky, ale končí mi to hláškou: Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /data/web//www/view.php on line 6

3 $db = mysql_connect("xxxx", "xxxx", "xxxx");
4 mysql_select_db("xxxx",$db);
5 $result = mysql_query("SELECT * FROM tabulka WHERE id=$id",$db);
6 $myrow = mysql_fetch_array($result,$db)
7 echo "něco: ".$myrow["neco"];
8 echo "<br>barva: ".$myrow["barva"];

Už jsem to procházel tolikrát, že už z toho šedivím, ale výsledek pořád v nedohlednu. Prosím nasměrujte mě, co je v tom špatně. Díky moc Oťas
panther
Profil
SOtas:
$result = mysql_query("SELECT * FROM tabulka WHERE id=$id",$db); 
echo mysql_error();

Dotaz je jednoduchý, možnosti jsou následující:
- nejsi připojen k DB
- nevybral jsi DB
- proměnná „$id“ je prázdná
Kalda
Profil
panther> Jen taková drobnost - že nejsi připojen k DB by řvalo již dříve, než na mysql_fetch_array()

Jinak chyba je na řádku:
$myrow = mysql_fetch_array($result,$db) 
, kdy tam nemá co dělat to $db, tedy pouze:
$myrow = mysql_fetch_array($result) 


To užití $db dává smysl u funkcí typu mysql_select_db nebo mysql_query - aby skript věděl, kterou konexi použít, jste-li připojeni k více serverům současně (nebo jako více uživatelů). Ale když se provádí mysql_fetch_array, tak tam už se dává jednoznačný resource, proto tato funkce ani odkaz na server nemá.
SOtas
Profil
Díky za radu, je akt, že jsem zkoušel tu databázi schválně přepsat jinak a nespojil jsem se vůbec, takže tam je to v cajku. Dle Kaldy jsem zrušil $db a posunul jsem se na chybovou hlášku na řádek 7: Parse error: syntax error, unexpected T_ECHO in data/web/www/view.php on line 7. Zkoušel jsem to podle manuálu k chybové hlášce všemožně dávat do závorek, uvozovek, apostrofů, ale výsledek nula. Při tý původní variantě to aspoň napsalo sice prázdný ale.
něco:
barva:
tady to končí jen tou hláškou. :-(
díky za rady Oťas
Kalda
Profil
A nebude to náhodou tím, že tam ještě chybí středník?
SOtas
Profil
zkoušel jsem to s ním i bez něj, a pořád stejná hláška, kašlu na to - zkusím to jindy, až se třeba naučím z php víc :o)
tohle je totiž nějak závislá stránka na jiný, která dělá výběr řádku takovým tím "php?=2" a prostě mi to ten řádek stejně neukáže, i když v tom výpisu, ze kterýho přecházím je, no nic, je to na mě asi náročnější, budu muset začít obligátním "Ahoj světe!" :o))
panther
Profil
SOtas:
která dělá výběr řádku takovým tím "php?=2"
když už, tak .php?neco=2.

budu muset začít obligátním "Ahoj světe!"
dobrý nápad.
SOtas
Profil
panther:
já vím, že tam za tím php? ještě něco je, jenže při psaní příspěvku jsem si honem nevzpomněl, takže je to tak view.php?id=2
sorry, že jsem otravoval...

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:

0