Hoi,

Ik heb een script die moet tellen hoeveel keer een bepaald geslacht voorkomt. Wanneer ik de SQL code uitvoer in phpmyadmin krijg ik wel het juiste resultaat te zien, maar wanneer ik de pagina op internet plaats komt er een error.

Hier de error:
Warning: mysqli_stmt::bind_param(): Number of variables doesn't match number of parameters in prepared statement in...


Dit is de code:

<?php
function countGender($gender) {
	global $con;
	$stmt = $con->prepare("SELECT COUNT(CASE geslacht WHEN '?' THEN 1 ELSE NULL END) FROM roboshooter");
	$stmt->bind_param("s",$gender);
	$stmt->execute();
	$stmt->bind_result($geslacht);
	while($stmt->fetch()) {
		$row[] = array('geslacht' => $geslacht);
	}	
	$stmt->close();	
	
	return($row);
?>

Hopelijk weten jullie wat het probleem is,

Alvast bedankt!
Ik zou niet COUNT maar SUM gebruiken.

of

SELECT COUNT(*) 
FROM tabel 
WHERE geslacht = ?


ik denk trouwens dat jouw '?' naar ? moet worden aangepast
Als je countGender voor elk geslacht zou aanroepen is het dan niet handiger en sneller om meteen alle geslachten op te halen.
Bijv:

SELECT geslacht, COUNT(*) 
FROM roboshooter
GROUP BY geslacht

Reageren