(mysql) insert query geht nicht
Cruz
- perl
Hallo Leute,
Tja ich habe mich an eine mysql Datenbank rangewagt, aber irgendwie ist es wohl doch nicht so easy going, wie ich dachte. Ich habe mir ein query zusammengebastelt, mit dem ich einen User in die Datenbank aufnehmen möchte, aber irgendwie bleibt die Tabelle einfach komplett leer.
Hier ist mein Code (Perl):
<snip>
use Mysql;
$dbh = Mysql->connect($MySQLHost,$MySQLDB,$MySQLLogin,$MySQLPsw) or die "Could not connect to database";
$query.="insert into Users values (";
$query.="Vorname='$input{'vorname'}',";
$query.="Name='$input{'name'}',";
$query.="Strasse='$input{'strasse'}',";
$query.="PLZ=$input{'plz'},";
$query.="Ort='$input{'ort'}',";
$query.="Land='$input{'land'}',";
$query.="Geburtsdatum='$input{'gebjahr'}-$input{'gebmon'}-$input{'gebtag'}'";
$query.="Email='$input{'email'}',";
$query.="Login='$input{'login'}',";
$query.="Passwort='$input{'passwort'}',";
$query.="Zahlungsweise='$input{'zahlungsweise'}',";
$query.="Konto=$input{'konto'},";
$query.="BLZ=$input{'blz'},";
$query.="Bank='$input{'bank'}')";
$result=$dbh->query($query);
</snip>
Das Mysql Modul ist natürlich installiert.
Die Werte, die nicht in '' gesetzt sind, sind alle numerische Werte.
Außerdem gibt es noch eine ID, die auf AUTO_INCREMENT gesetzt ist, und einen TIMESTAMP, aber soweit ich weiß werden die ja automatisch gesetzt.
Ich weiß nicht, wo ich den Fehler überhaupt suchen soll, ich habe schon etliche verschiedene Syntaxe ausprobiert, irgendwie bleibt die Tabelle immer leer.
Dankbar für hilfreiche Tipps
Cruz
hi!
$query.="insert into Users values (";
$query.="Vorname='$input{'vorname'}',";
$query.="Name='$input{'name'}',";
$query.="Strasse='$input{'strasse'}',";
$query.="PLZ=$input{'plz'},";
$query.="Ort='$input{'ort'}',";
$query.="Land='$input{'land'}',";
$query.="Geburtsdatum='$input{'gebjahr'}-$input{'gebmon'}-$input{'gebtag'}'";
$query.="Email='$input{'email'}',";
$query.="Login='$input{'login'}',";
$query.="Passwort='$input{'passwort'}',";
$query.="Zahlungsweise='$input{'zahlungsweise'}',";
$query.="Konto=$input{'konto'},";
$query.="BLZ=$input{'blz'},";
$query.="Bank='$input{'bank'}')";
Hm, der Query kommt mir ein bisschen komisch vor, so kenne ich den nicht. Hast du mal folgendes
versucht:
INSERT INTO Users (Vorname, Name, Strasse, ...) VALUES ('$input{'vorname'}', ...)
bye, Frank!