Datenbank Update wird nicht geschrieben

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

  • Datenbank Update wird nicht geschrieben

    Guten Morgen Community,

    Kann mir von euch vielleicht wer helfen und sagen wieso mir das Update nicht in die Datenbank geschrieben wird? Es kommt keine Fehlermeldung, sondern nur das die Daten geändert wurden, aber nichts passiert in der DB.

    PHP-Code:
     <?php
      
    if (isset($_POST['submit']) && $_POST['username'] != '' && $_POST['vorname'] != '') {
      try {
        
    $db = new MySQLi('localhost''***''***''***');
        
    $sql sprintf("UPDATE `tabelle` SET `username` = 'username', `vorname` = 'vorname', `birthday` = 'birthday', `street` = 'street') WHERE `id` = 'id'") or die ( mysql_error() );
        
    $db->query($sql); 
        echo 
    'Daten geändert!<br />';
        
    $db->close();
      } catch (
    Exception $e) {
        echo 
    'Fehler: ' htmlspecialchars($e->getMessage());
      } 
    }
    ?>
    Ich danke euch schon mal im vorraus !!!

    Gruß
    Dieter

  • #2
    Ist das der Code, den du wirklich benutzt? Möchtest du nicht ein paar POST-Daten in die Query einbauen?

    Kommentar


    • #3
      Achso sry, hatte den Code extra ein wenig gekürzt, ist normal größer aber wiederholt sich nur.

      Hier meine POST Zeilen

      PHP-Code:
      $db->real_escape_string($_POST['username']),
             
      $db->real_escape_string($_POST['vorname']),
             
      $db->real_escape_string($_POST['birthday']),..... 

      Kommentar


      • #4
        Hallo,

        hast du dein Error-Reporting mal so aufgedreht wie in den Forenregeln beschrieben? Ich sehe jedenfalls eine Klammer vor WHERE die da nicht sein sollte. Davon abgesehen wird mysql_error (ohne „i“) nicht viel zu berichten haben, wenn du die Abfragen mit mysqli* machst

        Gruß,

        Amica
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          Hi Amica,

          die Klammer war in der Tat zuviel, aber ändert nichts daran das das Update nicht in die Datenbank geschrieben wird.

          Error Reporting habe ich gemacht.

          Es ist ja so das kein Fehler erscheint, sondern die Zusage das die Daten geändert wurden. Ein Blick in die Datenbank sagt mir aber, das das nicht der Fall ist.

          Edit: Hänge noch das Textfeld an mit dem ich die Daten Bearbeite:
          PHP-Code:
          <input type="text" name="username" value="%s" /> 
          Gruß
          Dieter
          Zuletzt geändert von hansdieter; 02.06.2010, 12:08. Grund: Nachtrag

          Kommentar


          • #6
            Zitat von hansdieter Beitrag anzeigen
            Es ist ja so das kein Fehler erscheint, sondern die Zusage das die Daten geändert wurden.
            Die kommt ja von dir und hat in diesem Fall nichts zu sagen. Das „or die“ steht in der falschen Zeile – im Moment prüft es nur, ob der String richtig zugewiesen wird, wovon man aber ausgehen kann
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar


            • #7
              Mit mysql_affected_rows() bekommst du die Anzahl der zuletzt geänderen Datenträge.

              mysql_query() liefert im Fehlerfall FALSE, ansonsten TRUE.

              Hast du das überprüft?
              Zuletzt geändert von h3ll; 02.06.2010, 12:20.

              Kommentar


              • #8
                OffTopic:
                @h3ll: Alles okay bei dir?
                Zitat von h3ll Beitrag anzeigen
                Datenträge.
                myslq_query()

                Zuletzt geändert von AmicaNoctis; 02.06.2010, 12:30.
                [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                Super, danke!
                [/COLOR]

                Kommentar


                • #9
                  Man wird sich ja noch vertippen dürfen

                  Kommentar


                  • #10
                    Guter Hinweis h3ll

                    Hab ich jetzt eingebaut und er bringt mit 4 Warnungen, je 2 mit

                    PHP-Code:
                    Access denied... (using passwordNO) ... 
                    und

                    PHP-Code:
                    A link to the server could not be established... 
                    Sorry aber soweit bin ich dann noch nicht fortgeschritten. Datenverbindung steht doch, die wird auch erst danach geschlossen. Die Verbindung passt auch, damit erstell ich auch Datensätze und da kommt nicht der Fehler.

                    Gruß
                    Dieter

                    Kommentar


                    • #11
                      aktueller Code?
                      [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                      Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                      Super, danke!
                      [/COLOR]

                      Kommentar


                      • #12
                        Geändert ist nur, Klammer vor WHERE entfernt und den Code von H3ll eingefügt. Kurzversion damit das hier nicht aus allen Nähten platzt :

                        PHP-Code:
                        $sql sprintf("UPDATE .... WHERE `id` = 'id'",
                        $db->real_escape_string($_POST['username']),
                        ........
                        ) or die (
                        mysqli_error());
                        $result mysql_query $sql );
                        echo 
                        "Veränderte Datensätze: %d\n"mysql_affected_rows(); 

                        Kommentar


                        • #13
                          Zitat von hansdieter Beitrag anzeigen
                          Geändert ist nur, Klammer vor WHERE entfernt und den Code von H3ll eingefügt.
                          Dann nochmal als Selbstzitat:
                          Zitat von AmicaNoctis Beitrag anzeigen
                          Das „or die“ steht in der falschen Zeile
                          [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                          Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                          Super, danke!
                          [/COLOR]

                          Kommentar


                          • #14
                            Zitat von AmicaNoctis Beitrag anzeigen
                            Das „or die“ steht in der falschen Zeile
                            Hab ich glatt überlesen, bestimmt weil ich mit h3ll's Schreibfehlern zu kämpfen hatte

                            In welcher Zeile meinst du denn ist 'or die' richtig?

                            Dachte das gehört da hin, weil sollte es nen Fehler beim schreiben mit sprintf geben er mir ne Ausgabe bringt.

                            Kommentar


                            • #15
                              Zitat von hansdieter Beitrag anzeigen
                              In welcher Zeile meinst du denn ist 'or die' richtig?
                              Da wo die Abfrage ausgeführt wird:
                              PHP-Code:
                              $db->query($sql) or die(...); 
                              Außerdem darfst du nicht immer mysql und mysqli mischen. Bleib bei mysqli und prüf nochmal nach, dass du nirgends mehr mysql-Funktionen verwendest.
                              [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                              Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                              Super, danke!
                              [/COLOR]

                              Kommentar

                              Lädt...
                              X