Thorsten Beuth: Dateneinbindung per PHP klappt nicht wie gewollt - verzweifelt

Hallo!

Ich mahc grad eine Addressendatenbank für unsere Schule, mein Problem ist aber, dass der insert to Befehl nicht so richtig klappt ... Hier eine Übersicht über den Quelltext:

if ($Aktion=="Neu_Schueler") {

echo "<form action="index.php?Aktion=Fuege_Schueler_hinzu" method="post">\n";
 echo "<table$border>\n";
 echo "<tr>\n";
 echo " <td width="100">\n";
 echo "  Name: \n";
 echo " </td>\n";
 echo " <td>\n";
 echo "  <input type="text" name="Name" size="25" maxlength="100">\n";
 echo " </td>\n";
 echo "</tr>\n";
 echo "<tr>\n";
 echo " <td>\n";
 echo "  Vorname: \n";
 echo " </td>\n";
 echo " <td>\n";
 echo "  <input type="text" name="Vorname" size="25" maxlength="100">\n";
 echo " </td>\n";
 echo "</tr>\n";
 echo "<tr>\n";
 echo " <td>\n";
 echo "  E-Mail: \n";
 echo " </td>\n";
 echo " <td>\n";
 echo "  <input type="text" name="Post" size="25" maxlength="100">\n";
 echo " </td>\n";
 echo "</tr>\n";
 echo "<tr>\n";
 echo " <td>\n";
 echo "  Homepage: \n";
 echo " </td>\n";
 echo " <td>\n";
 echo "  <input type="text" name="Homepage" size="25" maxlength="100">\n";
 echo " </td>\n";
 echo "</tr>\n";
 echo "<tr>\n";
 echo " <td>\n";
 echo "  Abitur: \n";
 echo " </td>\n";
 echo " <td>\n";
 echo "  <input type="text" name="Abitur" size="4" maxlength="4">\n";
 echo " </td>\n";
 echo "</tr>\n";
 echo "</tr>\n";
 echo "<tr>\n";
 echo " <td>\n";
 echo "  <input type="submit" value="Abschicken">\n";
 echo " </td>\n";
 echo " <td>\n";
 echo "   \n";
 echo " </td>\n";
 echo "</tr>\n";
 echo "</table>\n";
 echo "</form>\n";

} elseif ($Aktion=="Fuege_Schueler_hinzu") {

echo $EMail;
 mysql_db_query ($db, "INSERT INTO GIL_Schueler ('Name', 'Vorname', 'Post', 'Homepage', 'Abitur') VALUES ('$Name', '$Vorname', '$Post', '$Homepage', '$Abitur')") or die (mysql_error());

usw. usw. Aufjedenfall gibt es dann den folgenden Fehler:

You have an error in your SQL syntax near ''Name', 'Vorname', 'Post', 'Homepage', 'Abitur') VALUES ('Beuth', 'Thorsten', 'M' at line 1

Ich verseth das nicht??? Normalerweise müßte das doch klapppen? ich saß da jetzt schon 2 Std dran und hab kein Fehler gesehen ;(

  1. mysql_db_query ($db, "INSERT INTO GIL_Schueler ('Name', 'Vorname', 'Post', 'Homepage', 'Abitur') VALUES ('$Name', '$Vorname', '$Post', '$Homepage', '$Abitur')") or die (mysql_error());

    usw. usw. Aufjedenfall gibt es dann den folgenden Fehler:

    You have an error in your SQL syntax near ''Name', 'Vorname', 'Post', 'Homepage', 'Abitur') VALUES ('Beuth', 'Thorsten', 'M' at line 1

    Nimm die Tütelchen bei den Feldnamen weg:

    insert into GIL_Schueler (Name,Vorname,Post,Homepage,Abitur) VALUES ("Meier","Willi", etc..

    Gruß,
      soenk.e

    1. oh, danke!
      Das wußte ich nicht, klappt aber jetzt!

  2. Hallo!

    You have an error in your SQL syntax near ''Name', 'Vorname', 'Post', 'Homepage', 'Abitur') VALUES ('Beuth', 'Thorsten', 'M' at line 1JA! hast DU..

    mysql_db_query ($db, "INSERT INTO GIL_Schueler (Name, Vorname, Post, Homepage, Abitur)
    VALUES ('$Name', '$Vorname', '$Post', '$Homepage', '$Abitur')") or die (mysql_error());

    im ersten Fall benennst du die Datenfelder (Spalten) mit dem Namen ohne '' - hinter VALUES stehen dann die Werte in ''..

    Gruss Sven

  3. MoiN!

    echo "<form action="index.php?Aktion=Fuege_Schueler_hinzu" method="post">\n";

    Ich frage mich gerade, warum du überhaupt bis zum INSERT kommst.

    An die action eines Formulars kann man nämlich keine Parameter anhängen! Das macht man mit einem hidden-Formularfeld:

    <input type="hidden" name="Aktion" value="Fuege_Schueler_hinzu">

    Wenn es tatsächlich bisher bei dir funktionierte, dann ist irgendwas falsch programmiert.

    - Sven Rautenberg