Goedenacht allemaal,

Ik heb hier gistermiddag een heel mooi ban systeem gevonden.
Nu ben ik deze aan het inbouwen op mijn pagina's.
Toen ik de table ip_block leegte omdat ik een nieuwe optie wou testen die ik zelf toevoegde kreeg ik een error melding.


Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 6 in /public_html/include/ip_check.php on line 60


Ik heb al wat rond gekeken op google maar kom er helaas niet bepaald zelf uit.
Vandaar mijn vraag aan jullie, misschien dat we dan tot een oplossing kunnen komen voor dit probleem.

het gaat om deze pagina:

<?php

	#######################################################
	#                                                     #
	#             --- main fuctions page ---              #
	#                                                     #
	#              made by nano and ronald                #
	#              created 10 August, 2004                #
	#######################################################
	
	
	//===	check ip in db	 ===//
	function check_ip ($ip) {
		$sql = "SELECT * FROM `ip_block` WHERE `ip` = '$ip'";
		$result = mysql_query ($sql) or die (mysql_error());
		$rows = mysql_num_rows($result);

		if ($rows == 1)
			return true;
	}
	
	
	//==	update existing	   ===//
	function update($ip, $date) {
		$sql = "SELECT `visits` FROM `ip_block` WHERE `ip` = '$ip'";
		$result = mysql_query($sql) or die(mysql_error());
		$visits = mysql_result($result,0);
		$visits ++;
		
		$sql = "UPDATE `ip_block` SET `date_last` = '$date', `visits` = '$visits'  WHERE `ip` = '$ip'";
		$result = mysql_query($sql) or die (mysql_error());
		$rows = mysql_affected_rows();
		
		if ($rows == 1) {
			$_SESSION['db_updated'] = "yep";
			return true;
		}
	}
	
	
	//===	new entery	===//
	function new_entry($ip, $date) {
		$sql = "INSERT INTO `ip_block` SET `ip` = '$ip', `date_last` = '$date', `visits` = '1', `block` = 'off', `naam` = 'Guest'";
		$result = mysql_query($sql) or die (mysql_error());
		$rows = mysql_affected_rows();

		if ($rows != 0) {
			$_SESSION['db_updated'] = "yep";		
			return true;
		}
	}
	
	
	//===	check if ip is blocked	===//
	function check_block($ip) {
		$sql = "SELECT `block` FROM `ip_block` WHERE `ip` = '$ip'";
		$result = mysql_query($sql) or die (mysql_error());
		$block = mysql_result($result,0);
		
		if ($block == "on")
			return true;
	}

?> 


Iemand enig idee wat er fout gaat ?
Blijkbaar pas je mysql_result toe op een leeg result. Kan hij dus niet naar de eerste rij springen, omdat $result waarschijnlijk leeg is.
dat betekend dus automatisch dat je een controle moet inbouwen of er wel rijen zijn gevonden:

(tip: mysql_num_rows(); )

Reageren