Rabastan Posted August 28, 2012 Share Posted August 28, 2012 Ok, I am getting this error: Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\base_site\admin\app\classes\authentication.php on line 74 From This code: class Login { private $_id; private $_username; private $_password; private $_passmd5; private $_errors; private $_access; private $_login; private $_token; public function __construct() { $this->_errors = array(); $this->_login = isset($_POST['login'])? 1 : 0; $this->_access = 0; $this->_token = $_POST['token']; $this->_id = 0; $this->_username = ($this->_login)? $this->filter($_POST['username']) : $_SESSION['username']; $this->_password = ($this->_login)? $this->filter($_POST['password']) : ''; $this->_passmd5 = ($this->_login)? md5($this->_password) : $_SESSION['password']; } public function isLoggedIn() { ($this->_login)? $this->verifyPost() : $this->verifySession(); return $this->_access; } public function filter($var) { return preg_replace('/[^a-zA-Z0-9]/','',$var); } public function verifyPost() { try { if(!$this->isTokenValid()) throw new Exception('Invalid Form Submission'); if(!$this->isDataValid()) throw new Exception('Invalid Form Data'); if(!$this->verifyDatabase()) throw new Exception('Invalid Username/Password'); $this->_access = 1; $this->registerSession(); } catch(Exception $e) { $this->_errors[] = $e->getMessage(); } } public function verifySession() { if($this->sessionExist() && $this->verifyDatabase()) $this->_access = 1; } public function verifyDatabase() { //Database Connection Data mysql_connect("localhost", "root", "") or die(mysql_error()); mysql_select_db("base_admin") or die(mysql_error()); $data = mysql_query("SELECT ID FROM tblAdmins WHERE adminsUser = '{$this->_username}' AND adminsPassword = '{$this->_passmd5}'"); if(mysql_num_rows($data)) { list($this->_id) = @array_values(mysql_fetch_assoc($data)); return true; } else { return false; } } public function isDataValid() { return (preg_match('/^[a-zA-Z0-9]{5,12}$/',$this->_username) && preg_match('/^[a-zA-Z0-9]{5,12}$/',$this->_password))? 1 : 0; } public function isTokenValid() { return (!isset($_SESSION['token']) || $this->_token != $_SESSION['token'])? 0 : 1; } public function registerSession() { $_SESSION['ID'] = $this->_id; $_SESSION['username'] = $this->_username; $_SESSION['password'] = $this->_passmd5; } public function sessionExist() { return (isset($_SESSION['username']) && isset($_SESSION['password']))? 1 : 0; } public function showErrors() { echo "<h3>Errors</h3>"; foreach($this->_errors as $key=>$value) echo $value."<br>"; } } What in the world am I doing wrong?? Rab Quote Link to comment Share on other sites More sharing options...
Jessica Posted August 28, 2012 Share Posted August 28, 2012 In the future, just post the relevant code. The error is telling you it's expecting a mysql resource object, but you have supplied a boolean (true/false). Usually that means your query failed. You'll need to use mysql_error() to get the more useful error message. Also echo out the query to see if the problem is evident there. 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.