Problem bei Eintrag in MySQL-DB über PHP

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

  • #16
    Keine Ahnung was ich hier reinkopiert habe Sorry, habe den mysql_error(); hinter das 'die' unter den //Kommentaren.
    Aber das war wohl auch falsch.

    Und im Formular finde ich wirklich keinen Unterschied zu den anderen Feldern, habe meiner Meinung nach gründlich drüber geschaut... aber wie immer nicht gründlich genug...

    Kommentar


    • #17
      Zitat von DerJulian Beitrag anzeigen
      aber wie immer nicht gründlich genug...
      Eben und deshalb schaust du jetzt nochmal noch gründlicher hin. Du willst ja solche Fehler in Zukunft sicher auch selbstständig finden können, oder?

      Ein Tipp noch: Man kann sich mit echo($sql); ja auch mal ausgeben lassen, was man da so zusammengeklöppelt hat.
      [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


      • #18
        Habs, war nich im Formular, war unten bei den $sql = Variablen oder?

        Aber bin noch nicht weiter was den mysql_error(); angeht

        //edit:
        Bekomme jetzt immernoch den:
        You have an error in your SQL syntax; check the manual that corresponds
        to your MySQL server version for the right syntax to use near '' at line 1

        Kommentar


        • #19
          Was sagt das
          PHP-Code:
          echo($sql); 
          das du bitte jetzt mal eingebaut hast?
          [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


          • #20
            So langsam solltest du dir das hier mal vornehmen. Denn ich denke, dass dein Debugging doch arg zu wünschen übrig lässt. Und bitte! Lies dir das komplett durch. Mit den Tipps findest du viele Fehler von selbst.

            Peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #21
              @Kropff bin schon länger drann am lesen Gefällt, schicke Page und so..

              @Amica, ich weiß nicht genau wo ich das einbauen soll. Hab es mal ganz unten vors ?> gesetzt aber da bekomm ich nichts

              //edit:
              Wenn ich das Formular frisch aufrufe bekomme ich schon den ersten Error. Warum auch immer
              Betrifft die letzte Zeile:
              PHP-Code:
              mysql_query($sql) or die(' Ungültige Abfrage. 
              Frag Julian was los ist. Aber falls es dir hilft, hier der Error: ' 
              mysql_error()); 
              Vllt. mag der Script meinen Namen ja nicht *g*
              Dank dem Tut übers Debugging von Kropff hab ich schonmal gemerkt das in diesem code das ($sql) als undefined variable angezeigt wird, soll doch nur die variable wiedergeben?
              Zuletzt geändert von DerJulian; 18.02.2010, 19:29.

              Kommentar


              • #22
                Zitat von DerJulian Beitrag anzeigen
                @Amica, ich weiß nicht genau wo ich das einbauen soll. Hab es mal ganz unten vors ?> gesetzt aber da bekomm ich nichts
                Na nachdem du den String zusammengebaut hast und bevor du ihn MySQL vor die Füße wirfst. Das ist die einzig logische Stelle dafür. Für so viel Verständnis sollte es aber auch bei einem Newbie noch reichen, sonst können wir dir auch nicht helfen. Wir können hier einfach nicht jeden an die Hand nehmen und Schritt für Schritt alles vom Urschleim an wiederholen und das immer und immer wieder. Das würde keinen Spaß machen, nicht mal wenn Berni uns Geld dafür gäbe.
                [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


                • #23
                  Zitat von DerJulian Beitrag anzeigen
                  Dank dem Tut übers Debugging von Kropff hab ich schonmal gemerkt das in diesem code das ($sql) als undefined variable angezeigt wird, soll doch nur die variable wiedergeben?
                  Ich habe aber auch gesagt, dass du den Query mal in einem MySQL-Frontend wie zum Beispiel HeidiSQL testen sollst. Und erst wenn der dort korrekt ist, kannst du ihn in deinen PHP-Code einbauen. Also echo $sql, das Ergebnis in dein Frontend eingeben und so lange herumspielen, bis es passt.
                  Zitat von AmicaNoctis Beitrag anzeigen
                  Das würde keinen Spaß machen, nicht mal wenn Berni uns Geld dafür gäbe.
                  OffTopic:
                  Doch, das würde schon Spass machen.

                  Peter
                  Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                  Meine Seite

                  Kommentar


                  • #24
                    ok dann lag ich doch richtig - auch wenn ich kein echo bekomme...

                    aber neue Errors liegen zu füßen... finde keine lösung dafür! Hab wirklich viel nachgedacht (langsam dämmert mir ja einiges...

                    Notice: Undefined index: Bemerkung in I:\formular.php on line 73

                    Notice: Undefined variable: sql in I:\formular.php on line 107

                    Notice: Undefined variable: sql in I:\formular.php on line 108

                    Ung�ltige Abfrage. Frag Julian was los ist. Aber falls es dir hilft, hier der Error: Query was empty
                    [/CODE]

                    Zeile 73: if ( $_POST['Bemerkung'] != "" )
                    soll sagen das nur gesendet werden soll wenn was bei bemerkung steht.

                    Zeile 107: echo($sql);
                    Soll nichtmal eine Variable sein, sondern eine ausgeben..
                    Zeile 108: das selbe, ist die lange zeile mit mysql_query( $sql)

                    und das Query leer ist bekomme ich immer gesagt, auch wenn ich nichtmal etwas sende sondern nur das Formular aufrufe.


                    //edit:
                    Kropff, erklärst du mir bitte wie HeidiSQL funktioniert? Ich bin erst 13 und soviel Englisch hatten wir noch nicht in der Schule
                    Zuletzt geändert von DerJulian; 18.02.2010, 19:42.

                    Kommentar


                    • #25
                      Google doch mal nach den Fehlermeldungen. Wir kommen hier nicht weiter, da dir elementarste Grundlagen fehlen. Die muss sich aber jeder selbst erarbeiten. Ein Forum ist nicht der richtige Ort für Grundlagenkurse, weil du sonst nicht einmal die Hinweise verstehst, die dir hier gegeben werden.

                      Amica Ende
                      [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


                      • #26
                        Zitat von DerJulian Beitrag anzeigen
                        ok dann lag ich doch richtig - auch wenn ich kein echo bekomme...
                        Man bekommt kein echo, man legt es fest!
                        Zitat von DerJulian Beitrag anzeigen
                        aber neue Errors liegen zu füßen... finde keine lösung dafür! Hab wirklich viel nachgedacht (langsam dämmert mir ja einiges...

                        Notice: Undefined index: Bemerkung in I:\formular.php on line 73

                        Notice: Undefined variable: sql in I:\formular.php on line 107

                        Notice: Undefined variable: sql in I:\formular.php on line 108
                        Das sind Notices, also keine Fehlermeldungen. Die kannst du erst mal ignorieren.
                        Zitat von DerJulian Beitrag anzeigen
                        Ungültige Abfrage. Frag Julian was los ist. Aber falls es dir hilft, hier der Error: Query was empty
                        Also ist dein Query leer. Und warum? Weil du den offenbar schon losjagen willst, bevor POST-Daten vorhanden sind.
                        Zitat von DerJulian Beitrag anzeigen
                        und das Query leer ist bekomme ich immer gesagt, auch wenn ich nichtmal etwas sende sondern nur das Formular aufrufe
                        Poste mal den aktuellen Code. Aber ohne das Formular-Gedöns.

                        Peter
                        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                        Meine Seite

                        Kommentar


                        • #27
                          Ok, das hier ist mein ganzer PHP Code nach Formular...


                          PHP-Code:
                          <?php
                          error_reporting 
                          (E_ALL);

                          if ( 
                          $_POST['Bemerkung'] != "" )
                          {
                              echo 
                          "<h2>Eintrag speichern</h2>";
                              
                          // hier kommt nun der entsprechende PHP-Code

                              
                          define 'MYSQL_HOST''localhost' );
                          define 'MYSQL_BENUTZER''ODBC' );
                          define 'MYSQL_KENNWORT''' );
                          define 'MYSQL_DATENBANK''login' );

                          $db_link mysql_connect (MYSQL_HOSTMYSQL_BENUTZERMYSQL_KENNWORT) or die (mysql_error());
                          if ( ! 
                          $db_link )
                          {
                              
                          // hier sollte dann später dem Programmierer eine
                              // E-Mail mit dem Problem zukommen gelassen werden
                              // die Fehlermeldung für den Programmierer sollte
                              // das Problem ausgeben mit: mysql_error()
                              
                          die(mysql_error());
                          }
                          $db_sel mysql_select_dbMYSQL_DATENBANK )
                              or die(
                          "Auswahl der Datenbank fehlgeschlagen. Frag Julian was los ist.");
                              
                          $sql .= " INSERT INTO terminplanung ";
                          $sql .= " SET ";
                          $sql .= " Name   ='"$_POST['Name'] ."', ";
                          $sql .= " mail  ='"$_POST['mail'] ."', ";
                          $sql .= " tel    ='"$_POST['tel'] ."', ";
                          $sql .= " Wann  ='"$_POST['Wann'] ."', ";
                          $sql .= " Wo='"$_POST['Wo'] ."', ";
                          $sql .= " Was='"$_POST['Was'] ."', ";
                          $sql .= " Preisvorstellung='"$_POST['Preisvorstellung'] ."', ";
                          $sql .= " Bemerkung='"$_POST['Bemerkung'] ."', ";
                          }
                           echo(
                          $sql);  
                           
                          mysql_query$sql ) or die(' Ungültige Abfrage. Frag Julian was los ist. Aber
                           falls es dir hilft, hier der Error: ' 
                          mysql_error());
                          ?>
                          Bitte nehmt mir das ganze nicht so übel wie gesagt ich bin noch jung und muss auch für Schule lernen

                          Kommentar


                          • #28
                            Als Bonus von mir der eingerückte Quellcode. Erkennst du jetzt, warum $sql nach der geschweiften Klammer nicht existiert?

                            PHP-Code:
                            <?php
                                error_reporting 
                            (E_ALL);

                                if ( 
                            $_POST['Bemerkung'] != "" )
                                {
                                    echo 
                            "<h2>Eintrag speichern</h2>";
                                    
                            // hier kommt nun der entsprechende PHP-Code

                                    
                                    
                            define 'MYSQL_HOST''localhost' );
                                    
                            define 'MYSQL_BENUTZER''ODBC' );
                                    
                            define 'MYSQL_KENNWORT''' );
                                    
                            define 'MYSQL_DATENBANK''login' );

                                    
                            $db_link mysql_connect (MYSQL_HOSTMYSQL_BENUTZERMYSQL_KENNWORT) or die (mysql_error());
                                    if ( ! 
                            $db_link )
                                    {
                                        
                            // hier sollte dann später dem Programmierer eine
                                        // E-Mail mit dem Problem zukommen gelassen werden
                                        // die Fehlermeldung für den Programmierer sollte
                                        // das Problem ausgeben mit: mysql_error()
                                        
                            die(mysql_error());
                                    }
                                    
                            $db_sel mysql_select_dbMYSQL_DATENBANK )
                                    or die(
                            "Auswahl der Datenbank fehlgeschlagen. Frag Julian was los ist.");
                                    
                                    
                            $sql .= " INSERT INTO terminplanung ";
                                    
                            $sql .= " SET ";
                                    
                            $sql .= " Name   ='"$_POST['Name'] ."', ";
                                    
                            $sql .= " mail  ='"$_POST['mail'] ."', ";
                                    
                            $sql .= " tel    ='"$_POST['tel'] ."', ";
                                    
                            $sql .= " Wann  ='"$_POST['Wann'] ."', ";
                                    
                            $sql .= " Wo='"$_POST['Wo'] ."', ";
                                    
                            $sql .= " Was='"$_POST['Was'] ."', ";
                                    
                            $sql .= " Preisvorstellung='"$_POST['Preisvorstellung'] ."', ";
                                    
                            $sql .= " Bemerkung='"$_POST['Bemerkung'] ."', ";
                                }
                                echo(
                            $sql);  
                                
                            mysql_query$sql ) or die(' Ungültige Abfrage. Frag Julian was los ist. Aber
                                falls es dir hilft, hier der Error: ' 
                            mysql_error());
                            ?>
                            Fang endlich an, logisch zu denken, verdammt nochmal.

                            Und nimm das letzte Komma in der Abfrage weg. Kommata gehören nur zwischen die einzelnen Felddefinitionen.
                            [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


                            • #29
                              urgh
                              Ja...

                              Kommentar


                              • #30
                                Zitat von DerJulian Beitrag anzeigen
                                urgh
                                Ja...
                                Na wenigstens ist die Einsicht da .

                                Peter
                                Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                                Meine Seite

                                Kommentar

                                Lädt...
                                X