WHERE mit $var festlegen; $var wird "ignoriert"

schwarzfahrer

Gesperrt
Hallo zusammen!

Ich komme gleich mal zur Sache :(

Dieser Teil eines Scripts macht mir einige Schwierigkeiten:

PHP:
if ($update)  //passiert wenn submitbutton geklickt wird!
{ 			 
$sql = "UPDATE
			usermail
		SET
			nachname = 'hallo',
			vorname = 'hallo'
		WHERE
			email='$email'";

    mysql_query($sql) OR die(mysql_error()); 
}

Die Variable $email wird per GET an die Seite übergeben, der Wert soll dann als $email verfügbar sein.

PHP:
$email =  $_GET['e'];

Das klappt soweit auch, denn ein echo "$email"; wird korrekt angezeigt als mail@egal.xx

Die Definition von WHERE sieht im Moment so aus wie im Script oben, ich habe aber auch schon zig andere Möglichkeiten der Formatierung "ausprobiert" und weiss da jetzt nicht mehr weiter... ich bin mir sicher es liegt daran...

Was mir nun wirklich weiterhelfen würde...
Suche ich überhaupt an der richtigen Stelle? Also kann es "daran" liegen
Kann es denn sein das ich etwas grundliegendes vergessen oder nicht beachtet habe?

Danke schon im Voraus!

Grüße,
SF
 
Zuletzt bearbeitet:
um die Aussage vom vorredner mal einzubauen
Code:
"....
WHERE
            email='$_GET[e]'";

aber was g
enau geht denn nicht? Ignoriert er das Where oder findet er den Datensatz nicht doer wie?
 
Ben Ben hat gesagt.:
um "....
WHERE
email='$_GET[ e ]'";

aber was genau geht denn nicht? Ignoriert er das Where oder findet er den Datensatz nicht doer wie?

So hatte ich es schon...

Er findet den Datensatz nicht.

...php?e=hallo

...also ist der Wert von $_GET[ e ] hallo, was es in der DB auch so gibt.

Schreibe ich es "statisch", also

WHERE
email='hallo'; ....klappt es.
 
hmm was willst du eigentlich da machen deine email ausschreiben oder was
PHP:
if(isset($_GET['e']))
  		{
  		echo "$email";
  		}
glaube oder was willst du
 
DMX-Dima hat gesagt.:
vielleicht steht dein where drüber der zeile

Ne ne das $email = $_GET['e']; kommt am Anfang, danach der DB Connect, jetzt der Scriptteil und zum Schluss das echo "$email"; das mir zeigt das $email wirklich "hallo" ist. ...soweit das Wichtig ist :rolleyes:
 
dann mach zu not mal ein trim($email) aber kann mir eigentlich nicht vostellen das da noch irgendwas dranhängt...

was passiert denn im Gegenzug wenn du
Code:
mysql_query("SELECT * FROM ... WHERE email='$_GET[e]') or die...

machst?

Hast du mal das ganze script?
 
vielleicht geht das update falsch versuchs so
PHP:
if ($update)  //passiert wenn submitbutton geklickt wird! 
{ 			 
$sql = "UPDATE 
			usermail 
		SET 
			nachname = 'hallo', 
			vorname = 'hallo' 
		WHERE 
			email='".$email."'"; 
 
	mysql_query($sql) OR die(mysql_error());  
}
da ich ".$email." so gemacht habe ich weis aber net ob das der grund ist
 
Zurück