Wie kan mij helpen met het oplossen van de volgende foutmelding:

---
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in C:\wamp\www\photo\yapa_h07\yapa_login.php on line 39
---


Het staat in het volgende stukje script uit yapa_login.php:


<?php
if(isset($_POST['verzonden'])){
	// initialisatie
	$member_email = ''; 		// het ingevulde e-mailadres
	$member_wachtwoord = '';	// het ingevulde wachtwoord
	$fout_bericht = '';			// leeg foutbericht initialiseren
	$is_logged_in = false;		// flag die aangeeft of iemand is ingelogd
	
	// overdreven controle op ingevoerde velden, je kunt niet 
	// voorzichtig genoeg zijn bij het inloggen van users
	if (isset($_POST['email']) && !empty($_POST['email'])){
		$member_email = safe_text($_POST['email']);
	}
	if (isset($_POST['wachtwoord']) && !empty($_POST['wachtwoord'])){
		$member_wachtwoord = safe_password($_POST['wachtwoord']);
	}
	
	if(empty($member_email) || empty($member_wachtwoord)){
		// als geen e-mail of wachtwoord zijn ingevuld, de pagina
		// opnieuw tonen. Zelf: eventueel nette foutafhandeling schrijven
		$fout_bericht = "Geen correct e-mailadres en/of wachtwoord ingevuld!";
	}
	else{
		// naam en wachtwoord zijn toegekend, controleren of ze 
		// in de database aanwezig zijn
		$db		= safe_db_open($host, $gebruiker, $wachtwoord, $database);
		$query	= "SELECT *, date_format(datum, '%d-%m-%Y') AS member_since
					FROM yapa_members WHERE email='$member_email'
					AND wachtwoord='$member_wachtwoord' AND actief ='1'";
		$result	= safe_query($db, $query);
		
		if (!mysqli_num_rows($result) > 0){
			// geen record gevonden
			$fout_bericht .= "Foutieve gebruikersnaam of wachtwoord,<br />";
			$fout_bericht .= "of uw account is nog niet geactiveerd!<br />";
		}
		else{
			// wel record gevonden, flag zetten
			$is_logged_in = true;
		}
	}
	if ($fout_bericht){
		echo $fout_bericht;
		echo "<a href=\"yapa_index.php\">Terug naar de homepage</a>";
		exit;
	}
	if ($is_logged_in){
		// sessievariabelen initialiseren
		while($record = mysqli_fetch_array($result)){
			$_SESSION['username'] = $record['naam'];
			$_SESSION['email'] = $record['email'];
			$_SESSION['member_since'] = $record['member_since'];
			$_SESSION['uploader_id'] = $record['id'];
		}
		// einde inloggen, sessie gevuld, doorsturen naar 
		// de pagina waar de gebruiker vandaan kwam of de homepage.
		$redirect = "Location: " . $_POST['url'];
		header($redirect);
	}
}
else{
	// inlogformulier laten zien, maar tevens controleren of een redirect-URL is meegeven op de adresregel.
	// zo ja, dit verwerken in het formulier en de gebruiker doorsturen naar de pagina waar hij vandaan kwam
	// voorafgaand aan het inloggen
	if(isset($_GET['url'])){
		$url = urldecode($_GET['url']);
	}
	else{
		$url = "yapa_index.php";
}
?>

Sorry....
maar nu weet ik nog niet echt wat ik anders moet doen.

vb. please
Het komt er op neer dat de functie mysqli_num_rows() die je gebruikt, ook een resource nodig heeft (dus mysqi_num_rows($RESOURCE_STAAT_HIER)) die geschikt is voor mysqli.

Lees even die shit op php.net door.

En gebruik volgende keer als je code post, aub alleen de bruikbare code, en gebruik [ignore]
[/ignore] tags en <?php ?> om het script te highlighten.

Edit
Nou, dan niet de PHPtags te ignoren.
Hoe moet hij dan worden zodat hij wel goed is?
Dat staat dus allemaal bij de link die je gegeven is.
Kijk bijvoorbeeld eens bij het voorbeeld (procedural style)
Ksnap er geen biet van
Je fout zit hier:

if (!mysqli_num_rows($result) > 0)

het zou zo moeten:

if (!(mysqli_num_rows($result) > 0))

of zo:

if (mysqli_num_rows($result) == 0))
Jan Koehoorn schreef op 08.08.2006 20:08
Je fout zit hier:

if (!mysqli_num_rows($result) > 0)

het zou zo moeten:

if (!(mysqli_num_rows($result) > 0))

of zo:

if (mysqli_num_rows($result) == 0))

geen verbetering!
Je hebt in je safe_query en safe_db nog mysql_... staan zonder 'i' . Kijk daar maar es naar, dat moet exact gelijk zijn

Reageren