2016-03-24 11 views
-2
dbconfig.php 

     <?php 
     // define the credentials for connection 
     define('servername','localhost'); 
     define('username' , 'root'); 
     define('password' , ''); 
     define('database' , 'Useradmin'); 
     // connecting server and databse 
     $conn= mysqli_connect(servername,username,password) or die('Server not connected' .mysqli_error()); 
     $db = mysqli_select_db($conn,database) or die('DB not found' .mysqli_error()); 
     ?> 

    Login.php 
    <?php 
      include ('config.php'); 
      // username and password from form 

      $user=$_POST['username']; 
      $pass= $_POST['password']; 

      // Sql injection protection 

      $user = stripslashes($user); 
      $pass = stripslashes($pass); 
      $user = mysqli_real_escape_string($conn,$user); 
      $pass = mysqli_real_escape_string($conn,$pass); 

     // making an sql query 

     $sql = "SELECT id FROM users WHERE user='$user' AND pass= '$pass'"; 
     $query = mysqli_query($conn,$sql) or die ('Invalid query'.mysqli_error()); 
     $rows = mysqli_num_rows($query) or die(mysqli_error($conn)); 
     if($rows==1) 
     { 
     header('location:mainpage.html');  
     } 
     else 
     echo 'Wrong password or username'; 
     ?> 

上記は私のコードです。正しいユーザ名とパスワードを入力して成功ページにリダイレクトするとうまくいきますが、ユーザ名やパスワードが間違っている場合は、このエラーが表示されます入力したユーザー名とパスワードが間違っていると、PHPコードでエラーが表示される

警告:mysqli_error()はmysqli、 \ xamppの\ htdocsには、ライン上の例の\ login.php \ 18

上記は、ユーザー名またはパスワードが間違っている場合にのみ、それがエラーを示しているので、私は様々な答えで相対的な答えを持つ誰も見なかった示しているとエラーになり

+0

[ 'mysqli_error'(http://php.net/manual/en/mysqli.error.php)パラメーターをとります。 –

+0

これは、クエリが失敗したことを意味します。 –

+1

$行= mysqli_num_rows($クエリ)または死ぬ( '無効なquey'.mysqli_error());このように –

答えて

0

これは、MySQLI接続をパスしていないためです。クエリを渡しているためです。ライン18は次のようになります

$rows = mysqli_num_rows($query) or die(mysqli_error($conn)); 
関連する問題