[MySQL] mysql_fetch_assoc() oder "Sonstiger Fehlerauslöser"
PHP-Code:
<?php
mysql_connect('localhost','root',''); // hoster, user, password
mysql_select_db('webproject');
$sql = "SELECT * FROM `dvd_listing` WHERE `ownerid` = `1`";
$result = mysql_query($sql);
while ($row = mysql_fetch_assoc($result))
{
echo "$row[ownerid] $row[title] $row[lent] $row[remark]<br>\n";
}
mysql_close()
?>
Zum Teil ist der Code aus einem (gutem) Buch und z.T. selbstgebastelt.
Diese mysql_fetch_assoc() sammelt die Inhalte der Tabelle Reihenweise ein.
$row = mysql_fetch_assoc () ist angeblich richtig, da mysql_fetch_assoc den Wert TRUE zurück gibt und die Schleife so oft wiederholt wie der Wert eben TRUE ist. Dabei wird immerwieder (wie es bei while und anderen Schleifen so ist normalerweise) der Array $row mit neuen Werten zugeballert.
Soweit so gut.
Das Problem ist folgende Fehlermeldung:
Code:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\apachefriends\xampp\htdocs\dvd_listing\index.php on line 24
Ich kann damit nicht viel Anfangen, diese angegebene Zeile ist:
PHP-Code:
while ($row = mysql_fetch_assoc($result))
Die Tabelle und die "Untertabelle" gibt es, die Inhalte die rausgesucht werden sollen auch. Es gibt momentan nur einen Inhalt (= 1 Reihe).
Aber daran wird es wohl nicht liegen denke ich.
Was darf ich tun damit das ganze klappt? ;D
Dennis
Diesmal kein Problem sondern eine btw. Frage ;)
PHP-Code:
$nickname = mysql_query("SELECT id FROM dvd_listing_user WHERE nickname = '$nickname'");
$nickname = mysql_fetch_assoc($nickname);
echo $nickname['id'];
Also, laut php.net ist mysql_result nicht sonderlich schnell, und wenn mysql_fetch_assoc schneller ist (bzw. die verwandten versionen mysql_fetch_array usw.), dann kann ich auch mysql_fetch_assoc nehmen.
Zur Frage:
Der Code oben funktioniert 1a, meine Frage:
Muss ich $nickname noch als Array definieren bevor ich es zum Array mache (durch mysql_fetch_assoc?
PHP-Code:
$nickname[] // oder so ähnlich
In dem Script wäre das jetzt etwas blöd, da es ja als Array gespeichert wird und danach als Array definieren wäre humbug.
Muss ich $nickname als Array definieren für "sauberes" PHP? Oder ist das egal?
Dennis
PS: Warum sind die Codetags durch [*TT*] gekenzeichnet? Was soll den TT heißen?