Christian Kruse: MySql_fetch_assoc Fehler?

Beitrag lesen

Hallo Jochen,

Hier erstmal der Source Code:

<?php 

$dbncon = mysql_query("SELECT * FROM img_$uzerrofl WHERE imgtype='jpg'");
echo $dbncon;
while($checkit = mysql_fetch_assoc($dbncon)) {
$iddd = $checkit['imgid'];
$typpee = $checkit['imgtype'];
mysql_error();

$file = $iddd.'.'.$typpee;

?>

<a href="imgs/userups/ + <?php echo $file;?>">HAHA</a>;

<?php
}

?>

Oh man, ist das eine neue Mode, die an mir vorbei gegangen ist? Warum für jeden User eine eigene Tabelle? Da hatte ich mich vor kurzem schon drüber ausgelassen.

Weiterhin ist die MySQL-Extension deprecated, du solltest sie wirklich nicht mehr verwenden. PHP wird sie entfernen. Verwende lieber PDO oder MySQLi.

Das Script soll jedes Bild mit dem Dateitypen 'jpg' als Link ausgeben. Nun erhalte ich folgende Fehlermeldung: Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /users/user123/www/index.php on line 82

Dann lass dir mal mit mysql_error() den Fehler in der Query ausgeben. Wenn mysql_query() false zurück gibt, ist da etwas schief gelaufen.

Weiterhin lass dir die zusammengesetzte Query ausgeben.

Ist dir auch aufgefallen, dass im Query-String nicht $username steht, sondern $uzerrofl? Ob das ein Fehler ist kann ich ohne Kontext nicht erkennen.

Weiterhin möchte ich darauf hinweisen, dass das + im Link nicht sinnvoll ist. Ist $file sicher safe im Sinne von HTML? Sprich, vielleicht möchtest du htmlspecialchars darüber laufen lassen.

Auch der Aufruf von mysql_error() bringt so nichts, du musst das Ergebnis schon auch ausgeben, etwa so: echo mysql_error().

LG,
CK