Mysql daten ändern hilfe

  • Themenstarter Themenstarter mysql ändern
  • Beginndatum Beginndatum
M

mysql ändern

Hallo ich finde einfach den fehler nicht bitte um hilfe

$abfrage = "SELECT hashmail AS hash FROM login";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
if ($row->hash == $code){
$aendern = "UPDATE login Set aktiv = 'hallo' WHERE hashmail LIKE $code";
$update = mysql_query($aendern);

echo "Benutzer ist nun aktiv";


}else echo "Benutzer code falsch";
}
 
item: Verwende bitte PHP-Tags und Formatierung damit man etwas lesen kann

item: was ist die Fehlermeldung? Was geht nicht?

item: warum ist nach dem else keine {

item: was ist $code

item: wie sieht die Tabelle hashmail aus?

item: wie sieht die Tabele login aus?

item: ggf mal im SELECT ein SQL_BUFFER_RESULT oder FOR UPDATE einbauen, damit die Tabelle schneller freigegeben wird um den UPDATE durchzuführen

item: wozu nimmst du $code nicht schon im SELECT in den WHERE-Teil, erspart dir die Schleife

item: warum lässt du nicht den ganzen SELECT und die Schleife weg und kontrollierst anschleissend mit mysql_affected_rows() ob Daten angepasst wurden um herauszufinden ob der Benutzer nun aktiv ist?

PHP:
<?php
	$aendern = "UPDATE login Set aktiv = 'hallo' WHERE hashmail LIKE $code";
	mysql_query($aendern);
        $countUpdatedRows = mysql_affected_rows();
	if($countUpdatedRows =1){
		echo "Benutzer ist nun aktiv";
	}elseif($countUpdatedRows >1) {
		echo "Hilfe das war zu viel";
	}else{
	 	echo "Benutzer code falsch";
	}
?>
 
Zuletzt bearbeitet:
also er macht das update nicht er geht in die if anweisung macht abe rdas update nicht
$code ist der eingelsene hash wert der wird auch krorekt übernommen da er ja die if anweisung macht
hashmail ist keine tabelle sondern nur eine zelle in der tabelle login
 
das da hitner steht ja in der gleichen spalte, das geht ja nur das
Code:
$aendern = "UPDATE login Set aktiv = 'hallo' WHERE hashmail LIKE $code";
$update = mysql_query($aendern);
will er nicht machen
 
Also
PHP:
$aendern = "UPDATE login Set aktiv = 'hallo' WHERE hashmail LIKE '$code'";
$update = mysql_query($aendern);
 
ohh man...danke jetzt gehts...tut mir leid ich lern erst seit 2 tagen php udn das ich es nicht in php tags gesetzt habe ich werde beim nächsten mal dran denken. Vielen dank
 
Zurück