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

Baumer

Grünschnabel
Hallo,

habe folgende SQL abfragen ..
PHP:
    $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
PHP:
   $zaehl = mysql_query("SELECT count(*) FROM online WHERE name = '$friend' AND name <> '$comfriend'");
gibt mit "0" zurück, genauso wie
PHP:
$zchat = mysql_num_rows($get1);

Weiss vielleicht jemand wo mein fehler ist ?!

Grüße Bjoern
 
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
 
Zurück