PHP -> MySQL Abfrage -> Frage zum Verständnis

Thomas Lindner

Erfahrenes Mitglied
Folgendes "Problem" , ich habe folgende Abfrage:

Code:
$userabfrage = "SELECT user_name, user_pass, user_activate FROM pa_user WHERE user_name LIKE '$login_name' AND user_pass LIKE '$crypted_pass' AND user_name LIKE '$login_name'";
$result = mysql_query($userabfrage);
	while($row = mysql_fetch_object($result))
    	{
    	$Benutzername = $row->user_name;
	$Passwort = $row->user_pass;
	$Kontostatus = $row->user_activate;
	}

Existiert jetzt auch nur einer der Werte nicht in der DB, so bekomme ich für alle Werte eine "NULL" geliefert.

Gibt es eine elegantere Lösung, AUSSER drei getrennte Abfragen um bei fehlerhaften Werten trotzdem zumindest die restlichen Werte zu bekommen?
 
So vielleicht?

Code:
SELECT
	u1.user_name,
	u1.user_activate,
	u2.user_pass
FROM
	pa_user u1
	LEFT JOIN pa_user u2 ON (u1.user_id = u2.user_id AND u2.user_pass = '$crypted_pass')
WHERE
	u1.user_name LIKE '$login_name'
 
Werds nachhermal testen, bin gerade wieder bei einer anderen "Baustelle" bei...

Danke schonmal für die Antwort!

LG

Thommy

Edit:

Ich habe es jetzt im Endeffekt anders gelöst, aber deinen Code werde ich mir merken für später..
 
Zuletzt bearbeitet:
Zurück