dedlfix: Problem mit einfügen HILFE!!!

Beitrag lesen

echo $begrüßung;

mysql_query("INSERT INTO tblerfolg VALUES(1,0)");

Es ist besser, die Spaltennamen explizit anzugeben, damit die Werte nicht nur per Zufall sondern gezielt ihre richtigen Felder eingetragen werden. Der Zufallsfall kann dann versagen, wenn du das Tabellenlayout änderst und eins der INSERTS anzupassen vergisst.

while($test = mysql_fetch_object($erfolggucken))

Wenn du nur einen Datensatz abfragen willst, brauchst du dafür keine Schleife. Dann ist auch $test nicht hinterher false, denn das ist das übliche Verhalten von mysql_fetch_object(), wenn man es zum Fetchen schickt aber nichts mehr vorhanden ist.

$sql = "SELECT UserID, concat(left(Nname,3),left(Vname,3)) AS Username
  FROM tbluser WHERE Username is NULL;";
    $updateSQL = "UPDATE tbluser SET Username='$row->Username', Passwort = 1234 WHERE UserID = $row->UserID";

Da hab ich dir doch neulich schon empfohlen ein Statement draus zu machen. UPDATE kann auch berechnete Werte in die Spalten schreiben. Das DBMS kann die Änderungen in einem Rutsch erledigen und muss nicht viele UPDATE-Statemets einzeln abarbeiten inkusive dem Overhead, sie jeweils zum DBMS zu transportieren.

UPDATE tbluser SET Username = CONCAT(LEFT(Nname, 3), LEFT(Vname, 3)), Passwort = 1234 WHERE Username IS NULL

if(mysql_query($updateSQL))

Jedes SQL-Statement kann schiefgehen, auch wenn es im Labor tausendmal fehlerfrei funktioniert hat. Frag immer den Erfolgsstatus ab und führe die nachfolgenden Schritte nur in Abhängigkeit vom Erfolg des vorhergehenden aus. Ansonsten kommen nur noch mehr (Folge-)Fehler zusammen.

echo "$verabschiedung $name";