phpbar.de logo

Mailinglisten-Archive

[php] =?iso-8859-1?Q?AW=3A_=5Bphp=5D_Probleme_beim_l=F6schen?=

[php] =?iso-8859-1?Q?AW=3A_=5Bphp=5D_Probleme_beim_l=F6schen?=

Gloss Mathias Mathias.Gloss_(at)_start.de
Tue, 21 Nov 2000 15:22:45 +0100


Aloha,

> ----------
> Von: 	Rene Schlaepfer[SMTP:r.schlaepfer_(at)_basvallon.ch]
> 
> ich habe ein Problem beim löschen eines Bildes. Ich habe die Bilder in
> einem
> Pfad abgelegt, der name des Bildes befindet sich in einer Tabelle in einer
> Mysql Datenbank. Gebe ich den Bildnamen anstelle von "$Image" ein wird das
> Bild auch gelöscht.
> 
> // funktioniert nicht
> 
>  		{
# wenn du mal spasshalber hier folgendes einfügst:
echo "Lösche Bild $Image in Pfad $PicPath\n";
>             unlink("$PicPath/$Image");
>             }
> 
Vermutlich wird bei Bild nichts ausgegeben, da :



> $query = "delete from $OccTable WHERE (id='$id')";
> $result = MYSQL_QUERY($query);
> 
> $row = MYSQL_QUERY($result);
> 
>            {
>             unlink("$PicPath/$Image");
>             }
> 
> ?>
> 
... das so nicht geht.
beim "delete ...." sagt der $result - Handler nur aus, ob das query in
Ordnung
war, nicht ob etwas gelöscht wurde. Falld du das prüfen willst, ob etwas in
der
DB gelöscht wurde, dann mußt du noch die mysql_affected_rows abfragen.
Aber das is hier nicht so wichtig.

Du musst 1) den Datensatz selecten, um den Bildnamen zu bekommen und
dann 2) den datensatz läschen.

$query = "select bildname from ... where  (id = '$id');  ### Annahme, der
Bildname
                                                   #### steht in der Spalte
bildname
$result = mysql_query($query);
if ( $result ) { $h_erg = mysql_fetch_row(); }
else { die ( "..... "); }
$query = "delete from ... where ...";
if ( mysql_affected_rows() ) {
  echo "Mindestens ein Datensatz gelöscht !\n";
  unlink($PicPath . '/' . $h_erg['bildname'] );
}

.....

Viele grüße, Mathias




php::bar PHP Wiki   -   Listenarchive