2016-03-24 5 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'; 
     ?> 

Ich bin neu in PHP. Oben ist mein Code. Es funktioniert gut, wenn ich richtigen Benutzernamen und Passwort und leitet mich um Erfolg Seite, aber wenn Benutzername oder Passwort falsch ist dann zeigt es diesen Fehlerphp code zeigt fehler nur wenn falsch benutzername und passwort eingegeben

Warnung: mysqli_error() erwartet Parameter 1 zu mysqli, Objekt in C gegeben: \ xampp \ htdocs \ Beispiel \ login.php on line 18

Oben ist der Fehler, die ich an verschiedenen Antworten ausgesehen haben wird, zeigt keine eine relativ Antwort haben, weil es zeigt nur Fehler, wenn Benutzername oder Passwort falsch ist

+0

[ 'mysqli_error'] (http://php.net/manual/en/mysqli.error.php) nimmt einen Parameter. –

+0

und das bedeutet, dass Ihre Abfrage fehlgeschlagen ist. –

+1

$ rows = mysqli_num_rows ($ query) oder sterben ('invalid quey'.mysqli_error()); wie dieser –

Antwort

0

Dies liegt daran, dass Sie die MySQLI-Verbindung nicht übergeben, sondern die Abfrage übergeben. Die Linie 18 soll

$rows = mysqli_num_rows($query) or die(mysqli_error($conn)); 
Verwandte Themen