2013-12-09 21 views
0

Я пытаюсь получить доступ к паролю, который был зашифрован на моем databse bu. Я получаю эту ошибку все время, и я не знаю, как ее исправить, я причудливый новичок в php: PНевозможно выбрать из моей базы данных mysql

Вот сообщение об ошибке: Предупреждение: mysqli_num_rows() ожидает параметр 1, чтобы быть mysqli_result, булево приведены в C: \ WAMP \ BSP \ login.php на линии 18

любая помощь благодарили за! :)

PHP код:

<?php 
    include('connection.php'); 
    session_start(); 

    function cryptPsw($input, $rounds = 9) { 
     $salt = ""; 
     $saltChars = array_merge(range('A','Z'), range('a','z'), range(0,9)); 

     for($i = 0; $i < 22; $i++) { 
      $salt .= $saltChars[array_rand($saltChars)]; 
     } 
     return crypt($input, sprintf('$2y$%02d$', $rounds) .$salt); 
    } 

    $username = $_POST['username']; 
    $password = $_POST['password']; 
    $uname = mysqli_query($con, 'SELECT ´username´ FROM ´users´ WHERE ´username´ = "$username"'); 

    if(mysqli_num_rows($uname) == 0) { 
     echo '<script>console.log("Username not found!")</script>'; 
    } 
    else { 
     $psw = mysqli_query($con, 'SELECT ´password´ FROM ´users´ WHERE ´username´ = "$username"'); 
     $hashedPsw = cryptPsw($psw); 
     if(crypt($password, $hashedPsw) == $hashedPsw) { 
      echo '<script>console.log("You are now logged in")</script>'; 
     } 
     else { 
      echo '<script>console.log("Wrong password, try again!")</script>'; 
     } 
    } 
?> 

HTML-форма:

<div class="login-form"> 
    <h3>Login</h3> 
    <form action="login.php" method="post"> 
     <input type="text" name="username" placeholder="Username"/> 
     <input type="password" name="password" placeholder="Password"/> 

     <span> 
      <input type="checkbox" name="checkbox"/> 
      <label for="checkbox">Remember</label> 
     </span> 

     <input type="submit" name="submit" value="Login"/> 
    </form> 
</div> 
+0

И кстати, я использую Blowfish алгоритмы – krilllind

+2

Ваши тиков идут неправильный путь – Strawberry

+0

И вы можете просматривать сайт Ауэр здесь: http://simpolarna.sytes.net/ – krilllind

ответ

0

Попробуйте использовать как ниже т.е. удалить переднюю Tick ´ Используйте кавычку или оставить как есть, если у вас есть использовали любое зарезервированное слово/с или ключевое слово/s, в этом случае вы можете использовать обратные выходы

'SELECT username FROM users WHERE username = "$username" ' 

вместо

'SELECT ´username´ FROM ´users´ WHERE ´username´ = "$username"' 
Смежные вопросы