Formular: Werte zu MySQL-DB übergeben (nur Ziffern funktionieren)

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

  • Formular: Werte zu MySQL-DB übergeben (nur Ziffern funktionieren)

    Bin gerade dabei, ein Formular, welches Werte an eine MySQL DB übergibt, zu realisieren. Dabei stoße ich auf folgendes Problem:

    Inhalt formular.php
    Code:
    <meta http-equiv="Content-Type" content="text/html; charset=utf8_general_ci">
    <form action="eintragen.php" method="post">
    	Name: <input type="text" name="xyz_name" />
    </form>
    Inhalt eintragen.php
    Code:
    $query = "INSERT INTO die_Tabelle (name) VALUES ($_POST[xyz_name])";
    Das Problem hierbei ist jetzt, dass ich nur Ziffern eintragen kann - dann funktioniert die Übergabe. Mit Buchstaben gehts nicht. Habe im PhpMyAdmin das Feld "Name" schon auf diverse mir plausibel erscheinende Typen geändert, ging aber nie ;-)
    Woran kann das liegen? Was muss ich als Typ am Besten wählen, wenn ich Ziffern und Buchstaben eingeben können möchte.

  • #2
    Re: Formular: Werte zu MySQL-DB übergeben (nur Ziffern funktionieren)

    http://dev.mysql.com/doc/refman/4.1/...ng-syntax.html
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      ein mysql_error() bringt dich auf die lösung.
      und wenn du schon dabei bist, schraubst du auch noch error_reporting hoch.

      Kommentar


      • #4
        Ok, der einzigste Fehler der angezeigt wird:

        Code:
        1054: Unknown column 'blablabla' in 'field list'
        Wobei "blablabla" das ist, was ich mittels Formular übergebe.

        Wenn ich Zahlen eingebe, läuft das Skript fehlerfrei.

        Was der Link mir sagen soll, ist mir leider nicht ganz klar. "" oder '' einfügen habe ich an allerlei mir plausibel erscheinenden Stellen versucht. Wäre für einen ausführlicheren Fingerzeig dankbar ;-)

        Kommentar


        • #5
          strings werden in sql in hochkommata eingeschlossen.

          Kommentar


          • #6
            Original geschrieben von penizillin
            strings werden in sql in hochkommata eingeschlossen.
            Schönen Dank, das ist mir in der Theorie klar.

            Wenn ich die query folgendermaßen gestalte:
            Code:
            $_POST['xyz_name']
            erhalte ich als Fehler:
            Code:
            Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING

            Kommentar


            • #7
              zeichenkettenverknüpfung!
              PHP-Code:
              $query 'INSERT INTO die_Tabelle (name) VALUES ('."'".$_POST[xyz_name]."'".')';
              $query "INSERT INTO die_Tabelle (name) VALUES ('".$_POST[xyz_name]."')"
              z.b
              peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar


              • #8
                Dritte Variante (ersetze [backslash] durch \)
                PHP-Code:
                $query 'INSERT INTO die_Tabelle (name) VALUES ([backslash]'' . $_POST[xyz_name] . '[backslash]')'
                OffTopic:
                Peter (das zweite mal, dass ich dich heute anspreche ) die erste ist irgendwie gruselig.
                ich glaube

                Kommentar


                • #9
                  Dankeschön, da wäre ich so niemals drauf gekommen ;-)

                  Kommentar


                  • #10
                    Peter (das zweite mal, dass ich dich heute anspreche ) die erste ist irgendwie gruselig.
                    OffTopic:
                    aber sehr sauber, da zeigt dir jeder editor sofort die fehler


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

                    Kommentar

                    Lädt...
                    X