# Weder count(*) noch mysql-num_rows geben das richtige ergebniss wieder.



## Baumer (3. März 2004)

Hallo,

habe folgende SQL abfragen .. 

```
$zaehl1 = mysql_query("SELECT count(*) FROM comonline WHERE name = '$friend'");
    $zaehle1 = mysql_fetch_row($zaehl1);
    $ergb1 = $zaehle1[0];
	$get = mysql_query("SELECT * FROM comonline WHERE name = '$friend'");
    $zcom = mysql_num_rows($get);
    while($comf = mysql_fetch_array($get))
    {
    $comfriend = $comf[name];
    echo("$comfriend <b>Com</b> <br>");
    }
   $zaehl = mysql_query("SELECT count(*) FROM online WHERE name = '$friend' AND name <> '$comfriend'");
    $zaehle = mysql_fetch_row($zaehl);
    $ergb = $zaehle[0];
    $get1 = mysql_query("SELECT * FROM online WHERE name = '$friend' AND name <> '$comfriend'");
    $zchat = mysql_num_rows($get1);
    while($ch = mysql_fetch_array($get1))
    {
    $chatfriend = $ch[name];
    echo("$chatfriend <b>Chat</b> <br>");
    }
```

Es sind drei Datensätze vorhanden . Einer in "comonline" und Zwei in "online". Da der Eintrag aus "comonline" mit einem aus "online" identisch ist, wird aus jeder tabelle ein datensatz ausgegeben. Somit sind die SQL Abfragen in ordnung. Leider  Funktioniert das ausgeben wieviel datensätze ausgegeben werden bei dem 2ten sql query nich
t 
	
	
	



```
$zaehl = mysql_query("SELECT count(*) FROM online WHERE name = '$friend' AND name <> '$comfriend'");
```
gibt mit "0" zurück, genauso wie 

```
$zchat = mysql_num_rows($get1);
```

Weiss vielleicht jemand wo mein fehler ist ?!

Grüße Bjoern


----------



## The Nephilim (10. März 2004)

Hi!
Könnte vieleicht an der Reihenfolge liegen wie die ausdrücke ausgewertet werden. Versuchs mal mit Klammern :
... WHERE (name = '$friend') AND (name <> '$comfriend')

cu


----------

