Count(*) Problem

icefire

Erfahrenes Mitglied
Hallo!

Ich möchte diverse Matches zusammen rechnen und das Ergebnis ausgeben. Folgenden Code wollte ich zum errechnen benutzen:

PHP:
// Gewonnene Spiele  
$counts	= mysql_query("SELECT count(*) as nums FROM $war_list WHERE war_status = 'Gewonnen'");
$w1		= mysql_fetch_array($counts); // line 18
$all1	= $w1[nums];

Aber da kommt dann eine Fehlermeldung:
Supplied argument is not a valid MySQL result resource in <b>/home/web2/html/war/war.php on line 18

Was habe ich hier falsch gemacht?


thx for help
ice
 
mein Lösungsvorschlag waere:

PHP:
// Gewonnene Spiele   
$counts    = mysql_query("SELECT count(*)  FROM $war_list WHERE war_status = 'Gewonnen'"); 
$w1        = mysql_result($counts,0); 
$all1    = $w1;
 
Wenn du einfach nur die Anzahl der gewonnen Spiele auslesen willst, dann ginge das auch so:
PHP:
$sql = mysql_query("SELECT * FROM $war_list WHERE war_status = 'Gewonnen'");
$anzahl = mysql_num_rows($sql);

echo $anzahl . ' Spiele gewonnen';
 
Alle eure Vorschläge haben die gleiche Fehlermeldung hervorgerufen - und das ist echt ein Rätsel für mich!:(

Mit mysql_error() habe ich noch folgende Information erhalten: You have an error in your SQL syntax near 'WHERE war_status = 'draw'' at line 1

Ist dieser Fehler der Auslöser für die 2te Fehlermeldung? (s.o.)

In der war_status sind ja Einträge nach Anzahl von won, lost, draw abgefragt werden. Gibts denn da noch eine andere Möglichkeit?

PHP:
$sql= mysql_query("SELECT count(*) as nums FROM $war_list WHERE war_status = 'won'");
echo mysql_error();
$w1= mysql_fetch_array($sql);
$allw= $w1[nums];

thx for help
ice
 
ahja, also so muesste es eigentlich funktionieren

PHP:
$sql= mysql_query("SELECT war_status,count(*) AS nums FROM $war_list WHERE war_status = 'won'");
echo mysql_error();
$w1= mysql_fetch_array($sql);
$allw= $w1[nums];
 
Zuletzt bearbeitet:
Diese Variante habe ich schon ausprobiert und auch da kommt die Fehlermeldung. Gibts denn da naoch andere fehlerquellen die in Frage kommen würden?
 
mhh... schlecht, aber irgendwie stoeren mich die Hochkommas vor und nach -> won

hast Du diese mal weggelassen? also sprich so:

"SELELCT .... WHERE bla = bla";
 
PHP:
$db="SELECT count(*) AS nums FROM $war_list WHERE war_status = 'won'";
$sql= mysql_query($db);
echo mysql_error();
$w1= mysql_fetch_array($sql);
$allw= $w1['nums'];

so müsste es funktioklappen ;)
 
Ich sags euch - manchmal ist die Lösung so offensichtlich das man sie glatt übersehen kann.;-)

Ich brauchte nur das "$" von der war_list zu entfernen und schon gings!:-) Weiss nicht mehr aus welchem Thema ich nur diesen Fehler übernommen habe!?:-(

thx for help
ice
 
Zurück