Na veel prutswerk heb ik een code gevonden die checkt of er bij een select een gegeven record bestaat


	$sql2 = "SELECT id FROM ip_log WHERE ip_addr = '$ip'";
		$uitvoeren = mysql_query($sql2);
		$resultaat2 = mysql_num_rows($uitvoeren);
				
		if ($resultaat2 > 0){			
  		 		return true;
			}			
		else {			
				return false;
			}



Echter lijkt deze methode me nogal omslachtig. Bijvoorbeeld er kan nooit meer dan 1x hetzelfde IP adres opgeslagen worden want het gaat hier over een ip flood check die met behulp van timestamps weer gecleared worden.

Wat is een functie die checkt of er een record is en naargelang daarvan true of false kan weergeven?
De naamgeving van je variabelen is niet heel logisch, en je controleert niet of de query lukt. Maar op zich is dit de manier.

edit:
Als je het wat netter wilt doen, zou het zo kunnen:
<?php
$sql = "
SELECT id
FROM ip_log
WHERE ip_addr = '" . $ip . "'";
if (!$res = mysql_query($sql)) {
trigger_error (mysql_error ());
return false;
}
else {
return (mysql_num_rows ($res));
}
}
?>

Reageren