Insert Into

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Insert Into

    Ich komme nicht mehr weiter warum wird bei diesen befehl nichts in die datenbank geschrieben?

    Alle Variablen sind besetzt. Der sql echo gibt auch alles richtig an nur es wird eben nicht reingeschrieben.

    PHP Code:
    if(isset($_POST['nachricht'])) {
    $name $_SESSION["user_nickname"];
    $nachricht $_POST['nachricht'];
    $betreff $_POST['betreff'];
    $empfaenger $_POST['empfaenger'];

    $sql "INSERT INTO $empfaenger (nickname, 
    nachricht, betreff) VALUES 
    $name$nachricht$betreff";
    echo 
    $sql;
    $result mysql_query($sql);

    Last edited by theaims; 18-07-2006, 20:07.

  • #2
    1. Lies die Regeln!
    2. Schalts error_reporting an!
    3. mysql_error?
    4. Wie sieht die Query im Klartext aus? Oder machst du die Testausgabe umsonst?
    5. Wie sieht die DB aus? Wie die Tabelle?
    6. Trifft die Bedingung überhaupt zu?

    Comment


    • #3
      Es gibt kein Error.

      Die Query seiht so aus:

      INSERT INTO test (nickname, nachricht, betreff) VALUES TEST1, Test2, Kein Betreff


      Tabellen:

      id nickname nachricht betreff

      Wenn ich das teil in phpmyadmin ausführe kommt folgendes:

      #1064 - 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 'TEST1, Test2, Kein Betreff' at line 1

      Comment


      • #4
        natürlich kommt kein error, wenn du meine hinweise nicht befolgst und nur auf die hälfte meiner antwort eingehst...

        Schonmal was davon gehört, dass man Strings in "Anführungszeichen" packt?

        Comment


        • #5
          So komme ich auch nicht zum ergebnis:

          PHP Code:
          $sql "INSERT INTO '$empfaenger' (nickname, nachricht, betreff) VALUES '$name', '$nachricht', '$betreff'"

          Comment


          • #6
            man man man... fehlermeldung?

            Comment


            • #7
              nur die wieder:

              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 ''test' (nickname, nachricht, betreff) VALUES 'TEST1, Test2, Kein Betreff' at line 1

              Mein Code:

              PHP Code:
              if(isset($_POST['nachricht'])) {
              $name $_SESSION["user_nickname"];
              $nachricht $_POST['nachricht'];
              $betreff $_POST['betreff'];
              $empfaenger $_POST['empfaenger'];

              $sql "INSERT INTO '$empfaenger' (nickname, nachricht, betreff) VALUES '$name', '$nachricht', '$betreff'";
              echo 
              $sql;
              $query mysql_query($sql) or die(mysql_error()); 

              Last edited by theaims; 18-07-2006, 22:18.

              Comment


              • #8
                Um den Tabellennamen natürlich keine Hochkommata.

                Vor weiteren Fragen dieser Coleur solltest du dich aber vielleicht mal selbst ein bisschen mit der Syntax beschäftigen ...
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Comment


                • #9
                  Code:
                  $sql = "INSERT INTO `$empfaenger` (nickname, nachricht, betreff) VALUES ('$name', '$nachricht', '$betreff')";
                  Gegenfrage: welches Leerbuch benützt du, damit es auf die Abschreckliste gesetzt werden kann?

                  $empfaenger ist kein guter (zweckmässiger) Variabelnname für eine Tabelle.

                  Comment


                  • #10
                    Erfahrungsgemäss gilt, dass der mysql-Fehler meistens unmittelbar links von der angegebenen Stelle ist, oder beim ersten Buchstaben der angegebenen Stelle. Auch hier ist es so.

                    Comment


                    • #11
                      also bei mir benutz ich immer das wenn ich variablen in sql abfragen benutze versuch es doch ma


                      ' ".$variable." '

                      Comment


                      • #12
                        Habe es jetzt rausgefunden. Es fehlten nur die ( )

                        Comment


                        • #13
                          "nur" ist gelogen!

                          Comment

                          Working...
                          X