update problem nach editieren

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

  • update problem nach editieren

    hi. wenn ich einen eintrag in meiner datenbank editieren will, und danach auf update klicke kommt die fehlermeldung:

    Sorry your Query failed: UPDATE fahrzeuge set 'id' = '35', 'Fahrzeug Name' = '', 'Beschreibung' = '', 'Besonderheiten' = '', 'Leistung' = '', 'Motor' = '', 'Getriebe' = '', 'Kilometerstand' = '', 'Anzahl Türen' = '', 'Erstzulassung' = '', 'Vorbesitzer' = '', 'Unfallwagen' = '', 'Aussenfarbe' = '', 'Polsterung' = '', 'Innenfarbe' = '', 'Preis' = '', 'bild' = '', 'bild_klein' = '' where id='35'
    error:You have an error in your SQL syntax near ''id' = '35', 'Fahrzeug Name' = '', 'Beschreibung' = '', 'Besonderheiten' = ''' at line 1 .

    in der php datei steht folgendes:

    PHP-Code:
    //************************Edit Record************************* 
    function editrec($dbname$tablename$pk$pv$array){ 
     
        
    //$result = @mysql_query( "Select * from $tablename" );    
        
    $result exequery("Select * from $tablename"$tablename$dbname); 
        
    $flds mysql_num_fields($result); 
        
    $fields mysql_list_fields($dbname$tablename); 
     
    //Build Query 
           
    $qry=""
        
    $query "UPDATE $tablename set "
        for (
    $x =0$x $flds$x++){ 
            
    $fie mysql_field_name($fields$x ); 
            
    // SET and ENUM
             
    if(is_array($array[$x])){
                
    $mval="";
                for(
    $m=0$m count($array[$x]); $m++){
                    if(
    $m+== count($array[$x])){
                        
    $mval.= AddSlashes($array[$x][$m]);               
                    }else{
                        
    $mval.= AddSlashes($array[$x][$m]).","
                    }
                    
    $fval $mval;
                }
            }else{
                
    $fval AddSlashes($array[$x]); 
            }
            
    //**************************     
            //$fval = AddSlashes($array[$x]); 
            
    $qry .= " '$fie' = '$fval'";
            if (
    $x $flds-1){ 
                
    $qry.= ", "
            } 
        } 
        
    $whr buildwhr$pk$pv); 
        
    $whr =StripSlashes($whr); 
        
    $query .= "$qry"
        
    $query .= " where $whr"
     
        
    $result=exequery($query$tablename$dbname); 
        if(
    $result){ 
            return 
    $result
        }else{ 
            return 
    false
        } 

    hoffe es kann mir jemand helfen

  • #2
    hmmm.. versuch doch mal
    UPDATE fahrzeuge SET 'Fahrzeug Name' = '', ... WHERE id = 35
    also ohne id = 35 im SET
    Software- und Webapplikationen

    Kommentar


    • #3
      also so?

      $query = "UPDATE fahrzeuge SET 'Fahrzeug Name' = '', ... WHERE ";

      tut mir leid. aber ich habe keine ahnung von php

      Kommentar


      • #4
        ich dachte mehr an sowas:
        UPDATE fahrzeuge SET 'Fahrzeug Name' = '', 'Beschreibung' = '', 'Besonderheiten' = '', 'Leistung' = '', 'Motor' = '', 'Getriebe' = '', 'Kilometerstand' = '', 'Anzahl Türen' = '', 'Erstzulassung' = '', 'Vorbesitzer' = '', 'Unfallwagen' = '', 'Aussenfarbe' = '', 'Polsterung' = '', 'Innenfarbe' = '', 'Preis' = '', 'bild' = '', 'bild_klein' = '' where id='35'
        Software- und Webapplikationen

        Kommentar


        • #5
          des ist ja nicht nur das problem bei dem auto mit der id 35 sondern bei jedem update also denke ich ist es bestimmt falsch wenn da id=35 steht, oder?

          Kommentar


          • #6
            Du musst ja nicht immer die id 35 übergeben. Du hast ja die Möglichkeit eine Variable in die sqlanfrage einzubauen. ich hoffe wir reden gerade nicht aneinander vorbei

            also ungefähr so:
            http://www.deineseite.de/index.php?variable_ID=10

            und dann kannst Du einfach diese Variable hier nutzen
            UPDATE fahrzeuge SET 'Fahrzeug Name' = '', ... WHERE id=$variable_ID
            Software- und Webapplikationen

            Kommentar


            • #7
              also ich habe es jetzt so
              PHP-Code:
               $query "UPDATE fahrzeuge SET 'Fahrzeug Name' = '', 'Beschreibung' = '', 'Besonderheiten' = '', 'Leistung' = '', 'Motor' = '', 'Getriebe' = '', 'Kilometerstand' = '', 'Anzahl Türen' = '', 'Erstzulassung' = '', 'Vorbesitzer' = '', 'Unfallwagen' = '', 'Aussenfarbe' = '', 'Polsterung' = '', 'Innenfarbe' = '', 'Preis' = '', 'bild' = '', 'bild_klein' = '' where id=$variable_ID"
              aber es kommt immer noch die Fehlermeldung

              Sorry your Query failed: UPDATE fahrzeuge SET 'Fahrzeug Name' = '', 'Beschreibung' = '', 'Besonderheiten' = '', 'Leistung' = '', 'Motor' = '', 'Getriebe' = '', 'Kilometerstand' = '', 'Anzahl Türen' = '', 'Erstzulassung' = '', 'Vorbesitzer' = '', 'Unfallwagen' = '', 'Aussenfarbe' = '', 'Polsterung' = '', 'Innenfarbe' = '', 'Preis' = '', 'bild' = '', 'bild_klein' = '' where id= 'id' = '35', 'Fahrzeug Name' = '', 'Beschreibung' = '', 'Besonderheiten' = '', 'Leistung' = '', 'Motor' = '', 'Getriebe' = '', 'Kilometerstand' = '', 'Anzahl Türen' = '', 'Erstzulassung' = '', 'Vorbesitzer' = '', 'Unfallwagen' = '', 'Aussenfarbe' = '', 'Polsterung' = '', 'Innenfarbe' = '', 'Preis' = '', 'bild' = '', 'bild_klein' = '' where id='35'
              error:You have an error in your SQL syntax near ''Fahrzeug Name' = '', 'Beschreibung' = '', 'Besonderheiten' = '', 'Leistung' = '' at line 1

              was jetzt komisch ist, ist dass alles 2 mal da steht

              Kommentar


              • #8
                ich kann dir vllt auch mal die dateien schicken, vllt habe ich ja die falsche datei reingeschrieben, bin leider ein absoluter neuling in php

                Kommentar


                • #9
                  Also ich habe mal bei mir eine kleine TestDatenbank angelegt
                  PHP-Code:
                  CREATE TABLE `fahrzeuge` (
                  `
                  idINT10 NOT NULL AUTO_INCREMENT ,
                  `
                  nameVARCHAR20 NOT NULL ,
                  `
                  farbeVARCHAR20 NOT NULL ,
                  PRIMARY KEY ( `id` )
                  ); 
                  Dann habe ich erstmal ein Fahrzeug eingefügt
                  PHP-Code:
                  INSERT INTO `fahrzeuge` ( `id` , `name` , `farbe` )
                  VALUES ('''porsche''schwarz'); 
                  Als nächstes ersuchte ich mir die ID des eben eingetragenen Autos
                  PHP-Code:
                  SELECT `id
                  FROM `fahrzeuge
                  WHERE `name` = 'porsche' AND `farbe` = 'schwarz'
                  Nun aktualisierte ich die Daten
                  PHP-Code:
                  UPDATE `fahrzeugeSET `name` = 'ferrari',
                  `
                  farbe` = 'rot' WHERE `id` = '1'
                  Um die ID in PHP als Variable zu speichern kann folgender Text um die SQL-Anfrage ergänzt werden
                  PHP-Code:
                  $select "SELECT `id` FROM `fahrzeuge` WHERE `name` = 'porsche' AND `farbe` = 'schwarz'";
                  $result mysql_query($select);
                  $row mysql_fetch_object($result);
                  $variable_ID $row->ID 
                  Hast Du auch schon einen Datensatz eingetragen bevor Du versucht hast ihn zu ändern?

                  HTH
                  Software- und Webapplikationen

                  Kommentar


                  • #10
                    datensatz eingeben? also irgend etwas z.b. mercedes, schwarz,.....
                    ja habe ich.

                    Kommentar


                    • #11
                      kann man bei php my admin die datenbank exportieren? so dass ich den aufbau der datenbank mal posten kann. vllt habe ich darin nen fehler

                      Kommentar


                      • #12
                        Moin, ja es gibt eine Exportfunktion.
                        Software- und Webapplikationen

                        Kommentar


                        • #13
                          http://www.php-resource.de/forum/sho...threadid=47906

                          LESEN UND BEFOLGEN!

                          Kommentar


                          • #14
                            horizontal scrollen verursacht nasenbluten!

                            benutze backticks (oder wie die heissen) statt hochkommata bei feldernamen (s. rays beispiel).

                            Kommentar


                            • #15
                              ja, natürlich!

                              *vorlauterbäumendenwaldnichtseh*

                              aus
                              PHP-Code:
                              UPDATE fahrzeuge SET 'Fahrzeug Name' '' ... 
                              machst Du doch bitte
                              PHP-Code:
                              UPDATE fahrzeuge SET `Fahrzeug_Name` = '' 
                              also einemal aus ' -> ` und aus Fahrzeug Name ein Fahrzeug_Name. Dieses dann auch in der DB ändern. So nu muss es aber klappen
                              Software- und Webapplikationen

                              Kommentar

                              Lädt...
                              X