Daten aus Formula per PHP in SQL schreiben

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

  • Daten aus Formula per PHP in SQL schreiben

    Hallöle ich bin noch en blutiger anfänger, meine aber ,dass ich bei dem script so weit alles richtig gemacht zu haben. Verbindung funktioniert auch, aber ich kann nichts reinschreiben.
    PHP-Code:
    <?php
     $Name 
    $_POST["Name"]; // Variablen einlesen
     
    $Vorname $_POST["Vorname"];
     
    $Strasse $_POST["Strasse"];
     
    $PLZ $_POST["PLZ"];
     
    $Wohnort $_POST["Wohnort"];
     
    $Geb $_POST["Geb"];
     
    $Geschlecht $_POST["Geschlecht"];
     
    $Tel $_POST["Tel"];
     
    $Fax $_POST["Fax"];
     
    $Email $_POST["Email"];
     
    $DTU $_POST["DTU"];

    $db=mysql_connect("localhost","ottokranz_marc","*******") or die("Konnte keine Verbindung mit dem Datenbankserver aufbauen");
    mysql_select_db("ottokranz_triat") or die ('Konnte Datenbank nicht finden!');
    mysql_query("INSERT INTO Stammdaten (Name,Vorname,Strasse,PLZ,Wohnort,Geb.-Datum,Geschlecht,Tel,Fax,Email,DTU)
    VALUES ('.
    $Name','.$Vorname','.$Strasse','.$PLZ','.$Wohnort','.$Geb','.$Geschlecht','.$Tel','.$Fax','.$Email','.$DTU')"

    or die (
    'Konnte die Daten nicht einfügen!');
    ?>
    Die Daten werden von einem Formular übergeben.

    Ah und dann habe ich noch eine Frage. Wofür ist das $db in der Klammer von mysql_query_connect.

    Vielen Dank Otto
    Zuletzt geändert von otto.kranz; 07.03.2007, 19:41.

  • #2
    Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

    Kommentar


    • #3
      Danke für den Hinweis. Ich hoffe, dass das jetzt so in Ordnung ist.
      Ich habe mir die übergebenen Daten schon mal per print anzeigen lassen. Das hat soweit funktioniert.

      Kommentar


      • #4
        vielleicht solltest du dein passwort nicht der breiten öffentlichkeit präsentieren.

        bei mysql_query() interessiert mysql_error() und nicht die sinnlose ausgabe "konnte nicht".

        Kommentar


        • #5
          Wofür ist das $db in der Klammer von mysql_query_connect
          was für eine klammer? was ist mysql_query_connect?

          besser:
          PHP-Code:
          $query "INSERT INTO Stammdaten (Name,Vorname,Strasse,PLZ,Wohnort,Geb.-Datum,
          Geschlecht,Tel,Fax,Email,DTU)
          VALUES ('.
          $Name','.$Vorname','.$Strasse','.$PLZ','.$Wohnort','.$Geb','.$Geschlecht','.$Tel',
          '.
          $Fax','.$Email','.$DTU')";
          // query ausgeben
          echo $query;
          $result mysql_query ($query) or die (mysql_error()); 
          so kannst du die abfrage anzeigen und ggf. mit z.b. phpmyadmin testen

          gruß
          peter
          Zuletzt geändert von Kropff; 07.03.2007, 19:43.
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            Ich erhalte
            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 '-Datum,Geschlecht,Tel,Fax,Email,DTU) VALUES ('.asdasd','.asdasd','.','.','.','.' at line 1
            als Error
            könnte es daran liegen, das ich dort einen Punkt verwendet habe?

            Kommentar


            • #7
              könnte es daran liegen, das ich dort einen Punkt verwendet habe?
              mal ohne punkt getestet?

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

              Kommentar


              • #8
                es könnte auch daran liegen, dass du die spaltennamen nicht in backticks gesetzt hast. es könnte auch mit dem witzigen spaltennamen "Geb.-Datum" zusammenhängen. es könnte auch daran liegen, dass du keine ahnung hast, was du da zusammengeschrieben hast, insb.
                Code:
                " ... VALUES ('.$Name' ... "
                an die db zu schicken kann dir bestimmt kein buch, tutorial oder dozent empfohlen haben.

                Kommentar


                • #9
                  Also ich habe das Geb Datum geändert. Mäckert aber immer noch:
                  INSERT INTO Stammdaten (Name,Vorname,Strasse,PLZ,Wohnort,GebDatum, Geschlecht,Tel,Fax,Email,DTU) VALUES (asdasd,asdasd,,,,,Männlich,, ,,1)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 ',,,Männlich,, ,,1)' at line 3

                  Kommentar


                  • #10
                    wie werden strings in mysql gekennzeichnet?
                    wie werden spaltennamen in mysql gekennzeichnet?

                    Kommentar


                    • #11
                      Keine Ahnung aber es wäre sehr nett wenn du mir das mitteilen würdest.

                      So sieht der Code mittlerweile aus:
                      PHP-Code:
                      $db=mysql_connect("localhost","ottokranz_marc","quer45") or die("Konnte keine Verbindung mit dem Datenbankserver aufbauen");
                      mysql_select_db("ottokranz_triat") or die ('Konnte Datenbank nicht finden!');
                      $query "INSERT INTO Stammdaten (Name,Vorname,Strasse,PLZ,Wohnort,GebDatum,Geschlecht,Tel,Fax,Email,DTU)
                      VALUES (
                      $Name,$Vorname,$Strasse,$PLZ,$Wohnort,$Geb,$Geschlecht,$Tel,
                      $Fax,$Email,$DTU)";
                      // query ausgeben
                      echo $query;
                      $result mysql_query ($query) or die (mysql_error());?> 

                      Kommentar


                      • #12
                        upsi, völlig übersehen zeichenkettenverknüpfung

                        gruß
                        peter
                        EDIT:
                        ein wenig zu spät, query sieht ok aus,mal mit phpmyadmin getestet? fehlermeldung?
                        Zuletzt geändert von Kropff; 07.03.2007, 20:36.
                        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                        Meine Seite

                        Kommentar


                        • #13
                          strings werden in hochkommata und spaltennamen in backticks eingeschlossen. immer.

                          http://www.mysql.org/doc/refman/5.0/...ng-syntax.html
                          http://www.mysql.org/doc/refman/5.0/en/identifiers.html

                          Kommentar


                          • #14
                            und spaltennamen in backticks eingeschlossen. immer.
                            bei vernünftigen spaltenbezeichungen kann man sich das imho sparen.

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

                            Kommentar


                            • #15
                              jetzt säge nicht an meiner pädagogischen idee

                              was passiert denn, wenn mysql in einer neueren version ein neues keyword einführt und der hoster den server updatet?

                              Kommentar

                              Lädt...
                              X