Connecting Tech Pros Worldwide Help | Site Map

Get error when retrieve data from mysql

Familiar Sight
 
Join Date: Jan 2008
Posts: 198
#1: Oct 1 '09
I want to write a php code for a login page. When I enter correct user name and password I got the error ;Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Program Files\xampp\htdocs\vehiclemaster\index.php on line 22. This is my code.
Could some one help me.
Expand|Select|Wrap|Line Numbers
  1. if(isset($_POST['login'])){
  2.     $username=$_POST['username']; 
  3.     $password=$_POST['password'];
  4.     if((!username)||(!$password)){
  5.         $login_error = '<p class= "errormsg">Please enter all fields</p>';
  6.     }
  7.         $password_encrpt = md5(substr($password, 1, -1));
  8.         $sql = "SELECT * FROM user WHERE  Username='$username' AND Password ='$password_encrpt'"; 
  9.         echo $sql;
  10.         $login_check1 = mysql_num_rows($sql);
  11.         if($login_check1==1){
  12.             $row = mysql_fetch_array($sql);
  13.             foreach( $row AS $key => $val )
  14.                 $$key = stripslashes( $val );
  15.         $_SESSION['UserID_Ses'] = $UserId;
  16.         echo $_SESSION['UserID_Ses'];
  17.  
  18.             $ADDERROR = "True";
  19.         }
  20.         else {
  21.             $ADDERROR = '<p class="errMsg" align="Center">Invalid Username or Password</p>';
  22.         }
  23.  
  24. }
  25.  
Atli's Avatar
Moderator
 
Join Date: Nov 2006
Location: Iceland
Posts: 3,731
#2: Oct 1 '09

re: Get error when retrieve data from mysql


Hey.

The mysql_num_rows function takes the query resource returned by mysql_query, not the SQL query itself.

See the examples in the manual entry for the function.
Member
 
Join Date: Sep 2009
Location: Usa, Michigan, Westland
Posts: 49
#3: Oct 3 '09

re: Get error when retrieve data from mysql


Expand|Select|Wrap|Line Numbers
  1. // OLD CODE
  2. $sql = "SELECT * FROM user WHERE  Username='$username' AND Password ='$password_encrpt'";
  3. // NEW CODE
  4. $sql = mysql_query("SELECT * FROM user WHERE  Username='$username' AND Password ='$password_encrpt'");
  5.  
  6. // Should Work, Based on your code supplied...
  7. $login_check1 = mysql_num_rows($sql);
Reply