Cruz: (mysql) insert query geht nicht

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

  1. 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!