if funktioniert nicht

Patematthes

Mitglied
PHP:
		 $connectionid = @mysql_connect("localhost", "root", "");
		 @mysql_select_db("test", $connectionid);
		 if ($connectionid!=TRUE)
				 {
						 echo "Verbindungsfehler: ".mysql_error()." !! Versuchen Sie es zu einem späteren Zeitpunkt nochmals. Danke.";
						 die;
				 }
		 $IP = $_SERVER['REMOTE_ADDR'];
		 $sql="SELECT ip FROM logout WHERE (ip LIKE '$IP')";
		 $result = mysql_query ($sql);
		 while($row = mysql_fetch_assoc($result))
				 {
						 echo 'IP1: '.$row['ip'].'<br>';
						 echo 'IP2: '.$IP.'<br>';
				 }
		 if($row['ip']==$IP)
				 {
						 echo "es funktioniert";
				 }
		 else
				 {
						 echo "es funktioniert nicht";
				 }

Also ich habe folgendes problem das die if anweisung nicht funktioniert. er gibt immer den else zweig aus.
es ist egal ob ein wert in der datenbank steht oder nicht und ob es der richtige ist oder nicht.

weiss einer rat?

greetz
 
Hallo,
du musst die If Anweisung schon mit in die While Schleife packen, sonst ist $row['ip'] ja immer leer:
PHP:
$connectionid = @mysql_connect("localhost", "root", "");
		 @mysql_select_db("test", $connectionid);
		 if ($connectionid!=TRUE)
				 {
						 echo "Verbindungsfehler: ".mysql_error()." !! Versuchen Sie es zu einem sp&auml;teren Zeitpunkt nochmals. Danke.";
						 die;
				 }
		 $IP = $_SERVER['REMOTE_ADDR'];
		 $sql="SELECT ip FROM logout WHERE (ip LIKE '$IP')";
		 $result = mysql_query ($sql);
		 while($row = mysql_fetch_assoc($result))
				 {
						 echo 'IP1: '.$row['ip'].'<br>';
						 echo 'IP2: '.$IP.'<br>';

		 if($row['ip']==$IP)
				 {
						 echo "es funktioniert";
				 }
		 else
				 {
						 echo "es funktioniert nicht";
				 }
 
				 }
 
Ah super thx.
Das Problem nun ist wenn die IP nicht in der Datenbank exestiert soll er mir den else zweig ausgeben, dass macht er aber jetzt nicht.
 
dr_Alex hat gesagt.:
Wie wäre es mit:

PHP:
$sql="SELECT ip FROM logout WHERE (ip LIKE '$IP')";
$result = mysql_query ($sql); 
if(mysql_num_rows($result)>0){
 echo "es funktioniert";
}else{
 echo "es funktioniert nicht";
}

PS.
http://tut.php-q.net/einruecken.html
Daran dachte ich auch, aber theoretisch ist es möglich, mehr als einen Tupel in der DB zu haben. Deswegen machte die while-Schleife schon Sinn.

EInrücken galt dir wohl selbst?! :p
 
Zurück