Hallo EKKi,
Fehlermeldungen gibt es wahrscheinlich deshalb nicht, weil Du sie unterdrückst und andererseits überhaupt nicht überprüfst, ob die Abfrage erfolgreich wahr. Warum dieses Skript nicht funktioniert, ist nämlich sehr klar.
möchtest Du nicht auch noch http://dev.mysql.com/doc/refman/5.1/de/reserved-words.html empfehlen?
function user_anlegen($u_name, $u_pass, $u_mail, $firma)
{
$limit = strtotime("+7 day");
$sqlab = "insert users(UserName, UserPass, UserMail, Firma, limit)";
$sqlab .= "values ('" . $u_name . "', MD5('" . $u_pass . "'), '" . $u_mail . "', '" . $firma . "', " . $limit . ")";
Hier ein kleines
echo $sqlab;
zur Debugausgabe würden dem OP fehlenden Whitespace (kann, muss aber nicht ein Leerzeichen sein) aufzeigen - und ein bestimmtes reserviertes Wort wäre zwingend zu quotieren, wie dedlfix sagte.
Darüber hinaus solltest Du die Werte, die Du einträgst, kontextsensitiv behandeln: Stichwort "SQL Injection".
Da sind wir uns fast einig, außer dass ich einem Anfänger nahelege, sich gar nicht mehr erst mit (den weit verbreiteten und dokumentierten) mysql_*-Sachen herumzuschlagen, sondern gleich mit mysqli anzufangen.
Freundliche Grüße
Vinzenz