In Tabelle einfügen

Hallo zusammen

Habe ein Problem mit der Datenbank.
Ich habe ein Formular erstellt und möchte nun die Daten in die Datenbank schreiben.
Ich denke mal das von der Syntax her alles korrekt sein sollte, hoffe ich zumndest.


<?php
$Datum = date("Y.m.d");
$verbindung = mysql_connect ("localhost", "root", "") or die ("Konnte Verbindung nicht herstellen");
$SQL_String = "INSERT INTO Bewerber (Vorname, Name, E-Mail, Telefon, Alter, Post, Wohnort, Strasse, Bezeichnung, Bewerbung)
VALUES ($Vorname, '$Nachname', '$E-Mail', '$Telefon', '$Alter', '$Post', '$Wohnort', '$Strasse', '$Bezeichnung', $Bewerbung', '$Datum')";

if (mysql_select_db ("Kunden", $verbindung) or die ("Konnte Datenbank nicht auswählen"));
{
$Ergebnis= mysql_query($SQL_String, $verbindung);
echo $Ergebnis;
}
mysql_free_result($Ergebnis);
mysql_close($verbindung);
?>

Hier ist dann auch noch ein Teil von dem Formular:

<div class="formbox">
<form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
<div class="reihe">
<span class="label" style="width:90px">Name:</span>
<span class="feld"><input type="text" name="Nachname" class="defbreite"
size="30" value="<?php echo $HTTP_POST_VARS["Nachname"]; ?>">
</span>
</div>

<div class="reihe">
<span class="label" style="width:90px">Vorname:</span>
<span class="feld"><input type="text" name="Vorname" class="defbreite"
size="30" value="<?php echo $HTTP_POST_VARS["Vorname"]; ?>"></span>
</div>


<div class="reihe">
<span class="label" style="width:90px">E-Mail:</span>
<span class="feld"><input type="text" name="E-Mail" class="defbreite"
size="30" value="<?php echo $HTTP_POST_VARS["E-Mail"]; ?>"></span></div>

u.s.w

Die Daten werden aber nicht in die Datenbank gespeichert. Habe schon die Spaltennamen rauskopiert und in Formular und Script eingefügt.

Hoffe es kann mir jemand helfen den Fehler zu finden.
Danke
 
Ein paar Anmerkungen:
  • Arbeit mit den vordefinierten, superglobalen Variablen, mit denen die Herkunft der Werte bestimmt werden kann (siehe auch Verwendung von Register Globals).
  • Verwende bei MySQL-Bezeichnern am besten die so genannten Backticks (`). So umgehst du auch das Problem bei reservierten Wörtern oder Bezeichner mit ungültigen Zeichen (beispieslweise „E-Mail“)
  • Informiere dich über Sicherheitslücken wie SQL-Injektionen und Cross-Site Scripting
  • Ein neuer Datensatz sollte nur bei einer gültigen POST-Anfrage angefügt werde. Daraufhin musst du das Skript noch anpassen.
  • Bei einer UPDATE-Datenbankabfrage gibt es keine Ergebnismenge, weswegen der mysql_free_result()-Funktionsaufruf etwas sinnlos ist.
 
Zurück