Zelphir: #1064 Syntaxfehler geschachtelte Anfrage

Beitrag lesen

Hallo SelfHTMLer,

Ich habe vor einen kleinen Besucherzaehler zu basteln.
Dazu dachte ich mir, muesste ich einfach die IP-Adressen mit zugehoerigem Datum speichern, die meine Webseite besuchen.
Das habe ich auch schon getestet:

  
<?php  
	//Benoetigte Daten sammeln  
	$date = date("Y-m-d",time());  
	if (!isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {  
		$client_ip = $_SERVER['REMOTE_ADDR'];  
	}  
	else {  
		$client_ip = $_SERVER['HTTP_X_FORWARDED_FOR'];  
	}  
	echo $date;  
	echo $client_ip;  
  
	//Feststellen ob diese IP heute schon auf der Webseite war  
	$todayCountQuery = "  
		SELECT date, COUNT(client_ip)  
		FROM counter  
		WHERE (  
			(date = '$date') AND  
			(client_ip = '$client_ip')  
			)  
		GROUP BY date;";  
		  
	$todayCountQueryResult = mysql_query($todayCountQuery);  
	  
	//Falls heute noch nicht auf der Webseite gewesen wird ein Datensatz gespeichert  
	if(mysql_num_rows($todayCountQueryResult) == 0){  
		echo "Heute noch nicht auf der Webseite gewesen!";  
		//Datensatz mit IP und Datum speichern  
	    $increaseCounterQuery = "INSERT INTO counter (client_ip, date) VALUES ('$client_ip', '$date');";  
		mysql_query($increaseCounterQuery);  
	}  

Soweit funktioniert das auch alles. Ob es jetzt die beste Loesung ist weiß ich nicht, es ist das erste mal, dass ich etwas mit PHP und SQL in Verbindung mache.
Nun muss ich natuerlich noch alle verschiedenen IP-Adressen eines jeweiligen Datums zaehlen, und diese dann zusammenaddieren. Das wollte ich wie folgt bewerkstelligen:

  
<?php  
	$getCounterQuery = "  
		SELECT SUM(visitor_count_per_day) AS visitorCount  
		FROM  
			(SELECT date, COUNT(client_ip) AS visitor_count_per_day  
			FROM counter  
			GROUP BY date;)";  
?>  

Soweit ich weiß muessen nur nicht-aggregierte Attribute per GROUP BY gruppiert werden, sofern denn ueberhaupt eine Aggregation in der Anfrage vorliegt. Daran habe ich mich auch gehalten, allerdings meint mein phpMyAdmin SQL Query Verarbeiter, dass ich einen Syntaxfehler in meiner Anfrage habe:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 5

Eingabe:

  
SELECT SUM(visitor_count_per_day) AS visitorCount  
FROM  
	(SELECT date, COUNT(client_ip) AS visitor_count_per_day  
	FROM counter  
	GROUP BY date;)  

Wenn ich die Anfrage teste. Wenn ich die Anfrage einfach so im PHP-Code stehen lasse, dann erhalte ich den Fehler:

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in (PFAD) on line 46

Hier eine Beispieltabelle mit einigen Testwerten, die ich benutze um zu testen:
79.55.0.143 2012-09-01
79.55.0.144 2012-09-02
79.55.0.145 2012-09-03
79.55.0.146 2012-09-04
127.0.0.1 2018-09-20
127.0.0.1 2018-09-20
127.0.0.1 2018-09-20
127.0.0.1 2018-09-20
127.0.0.1 2018-09-20
127.0.0.1 2018-09-20
127.0.0.1 2018-09-20
127.0.0.1 2018-09-20
127.0.0.1 2012-09-18

Was kann ich gegen den Fehler tun und was loest ihn aus?
Was mache ich in meiner SQL Anfrage fuer einen Fehler?