Datensätze lassen sich nicht löschen!

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

  • Datensätze lassen sich nicht löschen!

    HI

    Problemstellung:
    Mysql-datenbank für das speichern von binary-data.
    data wird in LONGBLOB gespeichert.
    Dateigrößen bis 25MB.

    Das Upload funktioniert wunderbar (nach den üblichen anfänglichen schwierigkeiten ) und man kann die Daten auch ändern, aber wenn ich sie löschen will, dann tut sich rein gar nichts!


    Befehl:
    PHP-Code:
    $sgl "delete from filetable where ID = 'x'"

    Also ich hab ehrlich lange gesucht, hab aber dazu nichts wirklich hilfreiches gefiunden!

  • #2
    poste doch mal deine db-struktur.
    am besten mit myphpadmin erstellen

    php-Entwicklung | ebiz-consult.de
    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
    die PHP Marktplatz-Software | ebiz-trader.de

    Kommentar


    • #3
      Mhh probiers mal so:

      PHP-Code:
      mysql_query("DELTE FROM table WHERE id='x'"); 
      Vorher natürlich eine Connection zur db erstellen!

      Kommentar


      • #4
        poste mal zusammenhängenden Code von Deinem Löschvorgang
        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Kommentar


        • #5
          SORRY
          Danke für angebotene Hilfe, aber ich habs selbst versaut

          Habe sämtliche Tabellen in Variablen definiert.
          Damit ich nicht immer wenn was änder durch alle Sheets gehen muss

          Nun einmal zu oft kopiert und die Falsche Tabelle wird aufgerufen!


          Hab also immer aus der falschen tabelle gelöscht!

          Damit hab ich mir selbst ein Ei gelegt.

          aber nochmal DANKE für die Angebotene Hilfe:

          ps:
          hier ein kleiner Codeschnipsel
          Wer was zum Verbessern hat bin für jeden vorschlag offen

          config.inc

          PHP-Code:
          # 1.2 Variablen für die Datenbankverwaltung
          $adb  "kundenlogin"#active database
          $dbu  "kuser";       #user-database
          $dbf  "kfiles";      #file-database
          $dbg  "kgroups";     #group-database
          $dbug "kusergroups"#usergroups-database
          $dbfg "kfilegroups"#filegroups-database 
          moddata.php

          PHP-Code:
          # ------------------ Action Files -----------------------------------------------
          # Wenn man Files anlegen, ändern, löschen muss!
          elseif ($modaction == "upload") {
              
          $action "";
              
          $cx db_connect($adb);
            
          # --------------- Neuanlage von Files -----------
              
          if ($modsend == "Neuanlage") {
                  if (isset(
          $binFile) && $binFile != "none") {
              
          # Datei einlesen
                      
          $data addslashes(fread(fopen($binFile"rb"), filesize($binFile)));
              
          # Kurzbeschreibung einlesen            
                      
          $strDesc addslashes(nl2br($mod[description]));
              
          # SQL definieren und ausführen
                      
          $sql "INSERT INTO ".$dbf."(filename, filesize, filetype, fileinfo, filedescription, file) "
                            
          ."VALUES ('".$binFile_name."', '".$binFile_size."', '".$binFile_type."', '".$mod[fileinfo]."', '".$strDesc."', '".mysql_escape_string($data)."')";
                      
          $resf mysql_query($sql$cx)
                              or die (
          "'".db_puterror(mysql_error(),mysql_errno())."'");
              
          # Abfrage für Gruppenzuweisung der Daten
                      
          $getneu mysql_query("SELECT * FROM ".$dbf." WHERE filename = '".$binFile_name."'",$cx)
                                or die (
          "'".db_geterror(mysql_error(),mysql_errno())."'");
                      
          $getrow mysql_fetch_array($getneu,MYSQL_ASSOC);
                      for (
          $i=1$i<=$countfg$i++)
                      {
             
          # Nur wenn die Checkbox bei einer Gruppe angehackt ist, darf diese Verknüpfung geschrieben werden!!
                          
          if (!$modfg[$i] == "") {
                          
          $sql="INSERT INTO ".$dbfg." (fileID, groupID)"
                              
          ." VALUES (".$getrow[ID].", ".$modID[$i].")";
                          
          $inresy mysql_query($sql,$cx)
                                    or die (
          "'".db_puterror(mysql_error(),mysql_errno())."'");
                          }
                      }
              
          # Ergebnis
                      
          if ($resf) {        
                           echo 
          "<table width=90% border=0 align=\"center\">"
                               
          ."<tr><td align=\"center\">Das File ".$mod[fileinfo]." wurde der Datenbank hinzugefügt!</td></tr>"
                               
          ."<tr><td>&nbsp;</td></tr>"
                               
          ."<tr><td align=\"center\"><a href=\"".$list."?action=files\" target='mainFrame'>Weiter</a></td></tr></table>";
                      }
                  }
              
          # Fehlerabfrage, wenn kein File angegben wird!        
                  
          else {
                       echo 
          "<table width=90% border=0 align=\"center\">"
                           
          ."<tr><td align=\"center\">Sie haben kein File angegeben, das gespeichert werden soll!</td></tr>"
                           
          ."<tr><td>&nbsp;</td></tr>"
                           
          ."<tr><td align=\"center\"><a href=\"".$list."?action=files\" target='mainFrame'>Weiter</a></td></tr></table>";
                  }
              }
          # ------------ Änderung der Files -----------
              
          elseif ($modsend == "Aendern") {
              
          # wenn das File verändert wurde!!
                  
          if (isset($binFile) && $binFile != "none") {
              
          # Datei einlesen             
                      
          $data addslashes(fread(fopen($binFile"rb"), filesize($binFile)));
              
          # Kurzbeschreibung einlesen
                      
          $strDesc addslashes(nl2br($mod[description]));
              
          # SQL definieren und ausführen
                      
          $sql "UPDATE ".$dbf." SET filename = '".$binFile_name."', "
                            
          ."filesize = '".$binFile_size."', "
                            
          ."filetype = '".$binFile_type."', "
                            
          ."fileinfo = '".$mod[fileinfo]."', "
                            
          ."filedescription = '".$strDesc."', "
                            
          ."file = '".$data."' "
                            
          ."WHERE ID = ".$mod[ID];
                      
          $resf mysql_query($sql$cx);
                      for (
          $i=1$i<=$countfg$i++)
                      {
             
          # Nur wenn die Checkbox bei einer Gruppe angehackt ist, darf diese Verknüpfung geschrieben werden!!
                          
          $chkda mysql_query("SELECT FROM ".$dbfg." WHERE fileID = ".$getrow[ID]." AND groupID = ".$modID[$i],$cx)
                                   or die (
          "'".db_geterror(mysql_error(),mysql_errno())."'");
                          if (!
          $chkda) {
                              
          $sql="INSERT INTO ".$dbfg." (fileID, groupID)"
                                  
          ." VALUES (".$getrow[ID].", ".$modID[$i].")";
                              
          $inresy mysql_query($sql,$cx)
                                        or die (
          "'".db_puterror(mysql_error(),mysql_errno())."'");
                          }
                          else {
                              if (
          $modfg[$i] == "") {
                                  
          $sql="DELETE FROM ".$dbfg." WHERE fileID = ".$getrow[ID]." AND groupID = ".$modID[$i];
                                  
          $inresy mysql_query($sql,$cx)
                                            or die (
          "'".db_puterror(mysql_error(),mysql_errno())."'");
                              }
                          }
                      }
             
          # Ergebnis            
                      
          if ($resf) {        
                           echo 
          "<table width=90% border=0 align=\"center\">"
                               
          ."<tr><td align=\"center\">Das der Inhalt für das File ".$mod[fileinfo]." wurde erfolgreich verändert!</td></tr>"
                               
          ."<tr><td>&nbsp;</td></tr>"
                               
          ."<tr><td align=\"center\"><a href=\"".$list."?action=files\" target='mainFrame'>Weiter</a></td></tr></table>";
                      }
                  }
             
          # Wenn nur Text verändert wurde
                  
          else {
                      
          $strDescription addslashes(nl2br($mod[description]));
                      
          $sql "UPDATE ".$dbf." SET fileinfo = '".$mod[fileinfo]."', filedescription = '".$strDescription."' WHERE ID = ".$mod[ID];
                      
          $resf mysql_query($sql$cx);
                      if (
          $resf) {        
                           echo 
          "<table width=90% border=0 align=\"center\">"
                               
          ."<tr><td align=\"center\">Das File ".$mod[fileinfo]." wurde der Datenbank hinzugefügt!</td></tr>"
                               
          ."<tr><td>&nbsp;</td></tr>"
                               
          ."<tr><td align=\"center\"><a href=\"".$list."?action=files\" target='mainFrame'>Weiter</a></td></tr></table>";
                      }
                  }
              }
          # ------------ Löschen von Files --------------
              
          elseif ($modsend == "Loeschen") { # Löschen
          # SQL für die Filedatenbank
                  
          $sql "DELETE FROM ".$dbf." WHERE ID = '".$mod[ID]."' LIMIT 1";
                  
          $loeres mysql_query($sql,$cx)
                            or die (
          "'".db_eraseerror(mysql_error(),mysql_errno())."'");
          # SQL für die Gruppenzuweisungen
                  
          $sql "DELETE FROM ".$dbfg." WHERE fileID = ".$mod[ID];
                  
          $loeres mysql_query($sql,$cx)
                            or die (
          "'".db_eraseerror(mysql_error(),mysql_errno())."'");    
          # Vorsichtshalber immer die Tabelle optimieren!
                  
          $loeres mysql_query("OPTIMIZE TABLE ".$dbf,$cx)              
                            or die (
          "'".db_eraseerror(mysql_error(),mysql_errno())."'");
                  if (
          $loeres) {        
                       echo 
          "<table width=90% border=0 align=\"center\">"
                           
          ."<tr><td align=\"center\">Das File ".$mod[filename]." wurde aus der Datenbank entfernt!</td></tr>"
                           
          ."<tr><td>&nbsp;</td></tr>"
                           
          ."<tr><td align=\"center\"><a href=\"".$list."?action=files\" target='mainFrame'>Weiter</a></td></tr></table>";
                  }
              }
              
          mysql_close($cx);
          # --------------------- Action Files Ende ---------------------------

          Kommentar

          Lädt...
          X