Einträge in DB überprüfen

Tucker

Erfahrenes Mitglied
Hi, ich habe jetzt eine ganze Weile hier im Forum gesucht, aber nichts weiterhelfendes gefunden.

Mein Problem ist, dass ich derzeit an einem Nutzerzentrum arbeite, konkret an der Registrierung. Derzeit stelle ich alles von txt auf DB um. Nun will ich überprüfen, ob z.B. der Name oder die E-mail verwendet wird.
Dazu habe ich folgendes Script:

PHP:
	$sqlbef1= "SELECT from `ssv_user` WHERE `name` = '".$_POST["user_name"]."'";
		$sqlerg1= mysql_query($sqlbef1, $db); 
		$sqlanz1= mysql_num_rows($sqlerg1);
	
		$sqlbef2= "SELECT from `ssv_user` WHERE `email` = '".$_POST["user_email"]."'";
		$sqlerg2= mysql_query($sqlbef2, $db);
		$sqlanz2= mysql_num_rows($sqlerg2);
					
		if ($sqlanz1 == 0 || $sqlanz2 == 0)
		{		
....

Trotzdem werdne die Daten in die Tabell eingetragen, obwohl in meinem Test Name und E-Mail schon vorhanden sind. Kann mir jemand sagen, wo mein Fehler liegt? Hab mic auch gerade noch bei php.net belesen, aber werde nicht schlau.

Bitte helft mir.
 
Wenn ich die Abfrage so mache:

PHP:
$sqlbef1= "SELECT from `ssv_user` WHERE `name` = '".$_POST["user_name"]."';";
		$sqlerg1= mysql_query($sqlbef1, $db); 
	
		$sqlbef2= "SELECT from `ssv_user` WHERE `email` = '".$_POST["user_email"]."';";
		$sqlerg2= mysql_query($sqlbef2, $db);
					
		if ($sqlerg1 === "FALSE" || $sqlerg2 === "FALSE")
		{

funktioniert es. Allerdings funktioniert dann die Fallunterscheidung nicht. Die sieht so aus und erfolgt imelse- Zweig dieser Abfrage.

PHP:
			if ($sqlerg2 === "TRUE")
			{
				$meldung.= "<li>Die E-mail- Adresse wird bereits benutzt. Bitte klicke zurück und versuche es erneut mit einer anderen Adresse.</li>";
			}
			if ($sqlerg1 === "TRUE")
			{
				$meldung.= "<li>Der Username wird bereits benutzt. Bitte klicke zurück und versuche es erneut mit einem anderen Benutzernamen.</li>";
			}
 
Kann es sein, dass du gar nichts selektierst?

SELECT FROM


müßte z.B.

SELECT * FROM

oder SELECT irgendwas FROM

So kassierrst Du nur einen Sql-Fehler.

vop
 
Es fuktioniert mit dem True und false nicht. :(
Aber eigentlich müsste doch durch die Select- ABfrage, wenn keine vergleichbaren Datan in der DB sind false ausgegeben werden. Wenn jedoch vergleichbare drin sind, müsste true ausgegeben werden.

Wieso funktioniert es da trotzdem nicht?

Kann mir bitte jemand helfen. Sitz seit mehreren Stunden und komm deswegen nicht weiter.
 
Wie gesagt, mir scheint Du hast da einen SYNTAX-Fehler in der Sql-Abfrage.

Damit wird die mysql_query vermutlich niemals TRUE liefern.

vop
 
Zurück