Datensatzvorhandensein Prüfung schlägt fehl!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Datensatzvorhandensein Prüfung schlägt fehl!

    Hallo Gemeinde.

    Ich habe mal wieder eine Frage es geht um folgendes!

    Bei einer Galerie die ich schreibe möchte ich nun beim Bild hochladen eine Existenz Prüfung machen ob das Bild schon existiert.

    Kurze Beschreibeung. Nach dem ganz normalen Upload wird auf die Datei bild_save.php weitergeleitet wo nachträglich noch der Bildname geändert werden kann und Infos zum Bild etc. rein geschrieben werden können! Und genau in dieser Datei will ich die Prüfung machen!

    Doch anstatt einer ordentlichen Prüfung und das dazugehörige Echo falls das bild schon vorhanden ist bekomme ich diese Fehlermeldung

    Warning: rename(galerieorg/wochenende 2008 007.jpg,galerieorg/annawanne.jpg) [function.rename]: File exists in C:\xampp\htdocs\gregor\bild_save.php on line 77

    Warning: rename(galerieanz/bild_wochenende 2008 007.jpg,galerieanz/bild_annawanne.jpg) [function.rename]: File exists in C:\xampp\htdocs\gregor\bild_save.php on line 78

    Woran kann das liegen?

    Hier mal der Code!

    PHP-Code:
    <?php 
    $sqlbefehl 
    ="Select Count(*) As anzahl_bilder From $tab_bild where bild='".$bildname."'"
            
    $preufe_bild mysql_query($sqlbefehl)or die(mysql_error()); 
            
    $row_bild mysql_num_rows($preufe_bild); 
             
            if(
    $row_bild['anzahl_bilder'] >0
            { 
                echo 
    msgBox("Der Bildname existiert bereits!".$link.""); 
                exit(); 
            } 
            else 
            { 
                if(isset(
    $_POST['id'])) 
                {      
                    
    $id preg_replace ("/[^0-9]/"'',  $_POST['id']); 
                } 
                
    $sqlbefehl "Update $tab_bild Set 
                         bild='
    $bildname', 
                         author='
    $author', 
                         text='
    $text', 
                         datum='
    $datum' where id=".$id.
                         "

                
    $result mysql_query($sqlbefehl)or die(mysql_error()); 
                    
    rename  ("galerieorg/".$bild,"galerieorg/".$bildname); 
                    
    rename  ("galerieanz/bild_".$bild,"galerieanz/bild_".$bildname); 
                    
    header("Location: modul_galerie.php"); 
            } 
    ?>
    Danke für Rat und Tat mfg der Litter!
    Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
    http://www.lit-web.de

  • #2
    $row_bild enthält die Anzahl der zurückgegebenen Datensätze. Wird also in dem Fall immer 1 sein. Warum? Weil du COUNT(*) abfragst, dass die Datensätze nach den von dir vorgegebenen Kriterien zählt. Also fetchst du den Datensatz mit einer der entsprechenden Funktionen und prüfst den Inhalt von $row_bild['anzahl_bilder'], oder du liest alles aus und lässt dir die Anzahl der Datensätze ausgeben. Aber ein Mischmasch geht natürlich nicht!
    [FONT="Helvetica"]twitter.com/unset[/FONT]

    Shitstorm Podcast – Wöchentliches Auskotzen

    Kommentar


    • #3
      Habe das jetzt so abgeändert und es funktioniert! Danke für die Hilfe!

      PHP-Code:
      <?php
      $sqlbefehl 
      ="Select Count(*) As anzahl_bilder From $tab_bild where bild='".$bildname."'";
              
      $preufe_bild mysql_query($sqlbefehl)or die(mysql_error());
              
      $row_bild mysql_fetch_array($preufe_bild);
              
              if(
      $row_bild['anzahl_bilder'] >0)
              {
                  echo 
      msgBox("Der Bildname existiert bereits!".$link."");
                  exit();
              }
      ?>
      Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
      http://www.lit-web.de

      Kommentar

      Lädt...
      X