ronnyLE: mysql fehler

hallo,

meine erfahrungen mit php und co reichen für einfache sachen und kleine spielereien ;)

leider habe ich nun ein kleines problem.
ich mache gerade ein formular wo man daten eintragen kann. die werden dann in eine mysql db geschrieben und nochmals per mail zur bestätigung verschickt. leider kommt in der db nichts an. die mail ist aber mit den daten gefüllt.
habe mit echo mysql_error(); dann diese fehlermeldung bekommen, weiß nur nicht so recht was ich damit anfangen soll.

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 'int1 = 'blabla' , mail1 = 'bla@bla.de', int2 = '', usw....

der codeschnipsel, der zur grundlage liegt ist dann dieser

require "db.php";

//leute eintragen

$daten = "INSERT INTO leute SET kontakt_name = '$name' , kontakt_ort = '$ort', kontakt_mail = '$kontakt_mail', int1 = '$int1' , mail1 = '$int_mail1', int2 = '$int2', mail2 = '$int_mail2' , kontakt_hinweis = '$kontakt_hinweis' ";
$eintragen = mysql_query($daten);
echo mysql_error();

könnte mir evtl. jemand nen tipp geben oder sagen, ob ich vielleicht etwas übersehen habe.

danke schön

  1. am leichtesten lässt sich so etwas nachprüfen, wenn du dein query mal direkt in phpmyadmin bei den sql-anweisung eingibst (vorher natürlich noch deine variablen mit werten ersetzen).
    wenn das klappt, dann weißt du das dein aufruf zumindest richtig ist.
    dann kann es natürlich noch sein, dass du in deinen strings, die du übergibst nette sonderzeichen wie z.B ' drin hast. die musst du dann vorher noch maskieren.
    probiers mal aus.

    gruß

    anarkist

    1. am leichtesten lässt sich so etwas nachprüfen, wenn du dein query mal direkt in phpmyadmin bei den sql-anweisung eingibst (vorher natürlich noch deine variablen mit werten ersetzen).
      wenn das klappt, dann weißt du das dein aufruf zumindest richtig ist.

      Hallo

      leider kommt auch da die gleiche fehlermeldung...

      aber irgendwie bin ich dennoch der meinung mein code wäre richtig...jemand ne idee?

      danke schön

      ronnyLE

      1. abend,

        stehen "int1" und "int2" bei dir für integerwerte? ich sehe da bei dir ein
        "blabla" drinstehen. sind es jedoch zur laufzeit zahlen, dann müssen hier die
        einfachen anführungsstriche entfallen: "INSERT [..] int1=$int1 [..];"

        mfg,
        (tanz das)
        Z.N.S.

        --
        <img src="http://www.comunicout.com/zebulon/en.gif" border="0" alt="">
        .:LIFE ON OTHER PLANETS IS DIFFICULT:.
  2. yo,

    du hast update und insert syntax durcheinander gebracht. SET ist eine klausel des update befehls.

    insert into tabelle (spalt1, spalte2...) values (wert1, wert2...)

    Ilja

    1. Hello,

      du hast update und insert syntax durcheinander gebracht. SET ist eine klausel des update befehls.

      insert into tabelle (spalt1, spalte2...) values (wert1, wert2...)

      Set funktioniert sowohl bei Update als auch bei Insert (zumindest bei MySQL)
      Und das ist auch sehr angenehm so.

      Harzliche Grüße aus http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
      1. yo,

        Set funktioniert sowohl bei Update als auch bei Insert (zumindest bei MySQL)

        also ich glaube, ich sollte mich einfach mal aus mysql raus halten, das ist mir nicht so geheuer ;-)

        Ilja

        1. Hello,

          Set funktioniert sowohl bei Update als auch bei Insert (zumindest bei MySQL)

          also ich glaube, ich sollte mich einfach mal aus mysql raus halten, das ist mir nicht so geheuer ;-)

          Nö. Grundsätzlich sind Deine Ideen schon dufte.
          In Diesem Fall finde ich die Änderunga aber ganz sinnvoll und andere SQL-Dialekte unterstützen das inzwischen auch. Ich hatte da auch mal eine Aufstellung. Im Moment finde ich sie aber leider nicht.

          Könnte aber sein, dass ich mich demnächst mal mit Oracle anfreunden will/muss und dann wärs doch schade, wenn Du nicht mitliest.

          Harzliche Grüße aus http://www.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau