guyfromfl Posted February 3, 2011 Share Posted February 3, 2011 I have a db class that contains several db functions. The biggie is $db->query($sql) function. EVERYTHING that goes to the database goes through this function, and I want to add some security... I have a another function in the db class, checkIp($ip) that checks to see if the ip is in the block list or not. Whenever I update the code (from the simple $result = mysql_query()... and return $result to have the if..else statement, I get a signal Segmentation fault... Any ideas? class dblib { function query($sql) { if ($this->checkIp($_SERVER['REMOTE_ADDR'])) { //die("GH"); // For testing... $result = mysql_query($sql) or die("Database error: " . mysql_error() . "<br /><br /><h2>SQL</h2><p>$sql</p>"); return $result; } else { die("<h1>Banned</h1>"); } } function checkIp($ip) { $sql = "SELECT * FROM block WHERE ip='$ip' LIMIT 1 "; $result = $this->query($sql); if (mysql_num_rows($result) == 0) return true; else return false; } } Quote Link to comment Share on other sites More sharing options...
guyfromfl Posted February 3, 2011 Author Share Posted February 3, 2011 They say this can be from refrencing a null pointer, but i dont see how? Quote Link to comment Share on other sites More sharing options...
BlueSkyIS Posted February 3, 2011 Share Posted February 3, 2011 one thing i see is that your code is circular. function query() calls function checkIP(), which calls function query(), which calls function checkIP() to infinity. this could cause problems. Quote Link to comment Share on other sites More sharing options...
guyfromfl Posted February 3, 2011 Author Share Posted February 3, 2011 ha! brilliant....bet thats it.. I'll let you know! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.