[Funktion] mysql_query() übergibt Werte nicht an Datenbank

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

  • [Funktion] mysql_query() übergibt Werte nicht an Datenbank

    Hallo Leute,

    ich habe folgende Form

    Code:
     
    <form name="Registrierung" action="Registrierung.php"
      method="post" onSubmit="return chkFormular()">
    <pre>
    UserName:  <input type="text" size="40" name="UserNameI">
    Password:  <input type="password" size="40" name="PasswdI">
    E-Mail:    <input type="text" size="40" name="EmailI"><input type="hidden" size="40" value="0" name="LIDI">
    Formular:  <input type="submit" value="Absenden"><input type="reset" value="Abbrechen">
    </pre>
    </form>
    und benutze folgende Funktion um die Eerte in meine Datenbank einzuladen:

    PHP-Code:
    ...
    ...

    $LID1=$_POST["LIDI"];
    $UserName1$_POST["UserNameI"];
    $Passwd1 $_POST["PasswdI"];
    $Email1 $_POST["EmailI"];



    mysql_query("insert into users(LID,UserName,Passwd, Email) values(NULL, $UserName1, md5($Passwd1), $Email1)")OR die(mysql_error()); 

    ... 
    ist das richtig so, es funktioniert nämlich nicht - ich habe auch sämtliche andere varianten von mysql_query() ausprobiert aber es will mir nicht gelingen!


    Nach der eingabe z.B. Name: ioannis
    Password: hjfahhfa
    Email:ioannis@adicss.de

    bekomme ich die Meldung!

    Verbindung wurde aufgebaut
    Die Datenbank wurde ausgewähl


    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 '@fsda)' at line 1

    Viele Grüsse

    Ioannis

    P.S. die Datenbank wurde ausgewählt und sieht folgendermassen aus
    CREATE TABLE users (
    LID INT AUTO_INCREMENT PRIMARY KEY,
    UserName VARCHAR(20),
    Passwd CHAR(32),
    Email VARCHAR(60)
    );

  • #2
    Lass dir den Query vor dem Absetzen ausgeben.

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      Deine Strings müssen in Anführungszeichen.
      ich glaube

      Kommentar


      • #4
        [Funktion] jetzt werden die Werte übergeben

        ich habe es letztendlich mit,

        $UserName=$_POST["UserNameI"];
        mysql_query("INSERT INTO users SET UserName='{$UserName}' ")

        geschafft, bin auch ganz geschafft :-)

        ich habe gelesen das man kein semicolon zu setzen hat! Aber das war nicht das Problem!

        mit into und values habe ich es nicht schaffen können. Da haben mich die Konflikte mit oder ohne Anführungsstriche und Zahlen als Strings und andersrum irgenwie verwirrt. Aber nun geht es!

        Vielen Dank,

        jetzt kann ich bis zum nächsten Problemchen weitermachen!

        Grüsse
        Ioannis

        Kommentar


        • #5
          Re: [Funktion] jetzt werden die Werte übergeben

          Original geschrieben von ioannis
          jetzt kann ich bis zum nächsten Problemchen weitermachen!
          Schon?
          Du hast doch beim aktuellen noch nicht verstanden, woran es lag und wie man es mit den Anführungszeichen vernünftig macht ...
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            bei einem hoster, der magic quotes aus hat (mittlerweile standardeinstellung) wirst du schnell probleme bekommen.

            eine sql injection ist hier ja schon vorprogrammiert.

            schau dir mal mysql_real_escape_string() an und les mal http://de.wikipedia.org/wiki/SQL-Injektion
            1101100 1101001 1100110 1100101 1101001 1110011 1100001 1100010 1101001 1110100 1100011 1101000

            /(bb|[^b]{2})/

            Kommentar

            Lädt...
            X