db änderungen werden nicht angenommen!

redback79

Erfahrenes Mitglied
folgendes problem...

PHP:
<?php

   $db = mysql_connect();

   $sqlab = "update benutzerkonto set benutzername = '$neubenutzername', kennwort = '$neukennwort', where id = '$originalid'";
   
   mysql_db_query("login", $sqlab);

   $num = mysql_affected_rows();
   if ($num>0)
      echo "Der Datensatz wurde geändert!<p>";
   else
      echo "Der Datensatz wurde <b>nicht</b> geändert!<p>";

   mysql_close($db);

?>

dieser code sollte doch eigentlich eine änderung in meiner db bewirken...

der inhalt der db wird zuerst in ein HTML formular geladen, wo ich die änderungen vorneheme.. (das klappt noch tadellos :-))
nach dem drücken des submit buttons wird das obige script aufgerufen, nur leider gibt er immer nur "Der Datensatz wurde NICHT geändert!" aus... (was auch stimmt....)

woran kann das liegen?

... ich hab mir die variabeln $neukennwort, $neubenutzername und $originalid mit echo ausgeben lassen... die werden vom formular richtig übernommen!


mfg redback

ps. ich hab (fast) das selbe skript für mein gb verwendet, wo es funktioniert!?!
 
Ich glaube der Fehler liegt in hier:
PHP:
$sqlab = "update benutzerkonto set benutzername = '$neubenutzername'";
$sqlab .= "and kennwort = '$neukennwort' where id = '$originalid'";
statt:
PHP:
$sqlab = "update benutzerkonto set benutzername = '$neubenutzername',"; 
$sqlab .= "kennwort = '$neukennwort', where id = '$originalid'";
 
danke vielmals für den tipp! :-)

als ich es das erste mal ausprobierte hats funktioniert... dann ging ich zurück zur auswahl und... der benutzername wurde auf "0" gesetzt.. habs dann mit zahlen probiert und.. der benutzername wurde auf 1 gesetzt... ????

die db felder sind vom typ varchar(30)... also sollte doch eigentlich kein problem sein??? (habs dann mit feldtyp text versucht, läuft aber aufs selbe hinaus???)


hast du vielleicht auch dafür eine erklärung? (..*hoff*) :-)



redback
 
einen schritt vorwärts... einer zurück...

@blackjack: ich hab das mit dem AND mal in meinem handbuch gecheckt. wenn ich dem glauben schenken kann (*gg*), dann wird AND nur zum näheren bestimmen von WHERE benutzt! (also kein AND vor WHERE)


der fehler muss also wo anders liegen! ...aber wo? lasst es mich wissen! :-)

THX
 
Zurück