Kleines DB und löschen von Datei Problem

dragonlord

Erfahrenes Mitglied
Hallo

PHP:
 $abfrage = "SELECT bild_NA FROM parts WHERE id = $MessageID";
				$ergebnis = mysql_query($abfrage);
				while($row = mysql_fetch_object($ergebnis)){
				 if ($row->bild_NA == 'kein_bild.jpg')
					{
					echo " nix";
					}
				 else
					 {
					 unlink ("img/$row->bild_NA");
					 }
					 }

In der DB steht zu jedem EIntrag ein Dateiname für ein Bild. Wenn kein Bild vorhanden ist wird ein universalbild angezeigt (kein_bild.jpg)

Beim löschen eines Eintrages soll er auch das zugehörige Bild löschen. Aber er macht es nicht. Wieso?
 
PHP:
$abfrage = "SELECT `bild_NA` FROM `parts` WHERE `id` = '".$MessageID."'";
$ergebnis = mysql_query($abfrage) or die (mysql_error ());
$row = mysql_fetch_assoc($ergebnis);
if ($row['bild_NA'] != 'kein_bild.jpg') {
  unlink ("img/".$row['bild_NA']);
}
 
Ich teste es jetzt mal...
Wo genau liegt eigeendlich der Unterschied von != und == ?
Und was genau bringt es die Variablen mit dem Punkt zu schreiben?
 
Zuletzt bearbeitet:
Tja der Code provoziert den gleichen Fehler wie meiner:

Warning: unlink(img/) [function.unlink]: Is a directory in /**************************/admin_delete.php on line
 
Ersetze mal
PHP:
if ($row['bild_NA'] != 'kein_bild.jpg') { 
  unlink ("img/".$row['bild_NA']); 
}
durch
PHP:
if ($row['bild_NA'] != 'kein_bild.jpg') 
{ 
  if (mysql_num_rows($ergebnis) > 0)
  {
    unlink ("img/".$row['bild_NA']); 
  }
  else
  {
    echo 'Die Datenbankabfrage "'.$abfrage.'" lieferte kein Ergebnis zurück.';
  }
}
 
So, das kann ja nur heissen das mit der SQL Abfrage etwas nicht stimmt.

Denn echo $row['bild_NA']; gibt mir nichts aus. D.h. irgend was ist bei der Abfrage falsch.
Aber was
 
Hab das mal gemacht. Wie ich mir schon gedacht habe wird nichts aus der Tabelle ausgelesen.

Das kann aber nicht sein. Als muss die SQL Abfrage falsch sein. Weil da steht definitiv der Dateiname drin.
 
Zurück