2016-02-22 2 views
-2

Я получил эту ошибку, когда я пытаюсь войти в свой PHP форме:Вызов неопределенной функции mysql_rum_rows() - Ошибка в форме входа PHP

Вызов неопределенной функции mysql_rum_rows()

Это мой код

<?php 
 
    mysql_connect("localhost", "root", ""); 
 
    mysql_select_db("login"); 
 

 
    if(isset($_POST['inloggen'])) { 
 
     $username = $_POST['username']; 
 
     $password = $_POST['password']; 
 

 
     $query = "SELECT * FROM users WHERE username = '". $username . "' AND '" . $password . "'"; 
 

 
     $result = mysql_query($query); 
 

 
     if(mysql_rum_rows($result) == 1) { 
 
     echo "Juiste gegevens!"; 
 
     } 
 
     else { 
 
      echo "Onjuiste gegevens!"; 
 
     } 
 

 
     echo "<br />"; 
 
    } 
 

 
?> 
 

 
<form method="post" action=""> 
 
    <label>Username</label> 
 
    <input type="text" name="username"/><br /> 
 
    <label>Password</label> 
 
    <input type="password" name="password"/><br /> 
 

 
    <input type="submit" name="inloggen" value="Inloggen"/> 
 

 
</form>

Может кто-нибудь помочь мне исправить это? Я noob для PHP, и я получил это из книги под названием «PHP en MySQL». Поэтому я не знаю, почему он не работает.

+4

должно быть 'mysql_num_rows' – 1000111

+0

пожалуйста, читать и учиться - http://php.net/manual/en/function.mysql-num-rows.php –

+0

Я рекомендую покупать новую книгу,' функции mysql_' удаляются в PHP 7. – Daan

ответ

1

У вас есть ошибка опечатка. Необходимо написать mysqli_num_rows

Также не нужно проверять mysqli_num_rows().

$result = mysql_query($query); 
// $result will give you boolean TRUE or FALSE 
    if ($result) { 
     echo "Juiste gegevens!"; 
    } else { 
     echo "Onjuiste gegevens!"; 
    } 

Предложения: -

1) Вы должны шифровать пароль перед сохранением в базе данных. Одним из простых методов шифрования является md5. и вы можете проверить пароль с помощью DB ниже.

$password = md5($_POST['password']); 

2) Вы можете написать запрос, как показано ниже: -

"SELECT * FROM users WHERE username = '$username' AND '$password'"; 

3) Всегда проверять на наличие ошибок запроса. Вы должны использовать mysql_error(), чтобы получить ошибку запроса.

Предупреждение: -

mysql_ * осуждался в PHP 5.5.0, и он был удален в PHP 7.0.0. Вместо этого следует использовать расширение MySQLi или PDO_MySQL.

0
<?php 
$conn = mysqli_connect("localhost", "root", "", "login"); 

if (isset($_POST['inloggen'])) { 
    $username = $_POST['username']; 
    $password = $_POST['password']; 

    $query = "SELECT * FROM users WHERE username = '" . $username . "' AND '" . $password . "'"; 

    $result = mysqli_query($conn, $query); 

    if (mysqli_num_rows($result) == 1) { 
     echo "Juiste gegevens!"; 
    } else { 
     echo "Onjuiste gegevens!"; 
    } 

    echo "<br />"; 
} 
?> 

<form method="post" action=""> 
    <label>Username</label> 
    <input type="text" name="username"/><br /> 
    <label>Password</label> 
    <input type="password" name="password"/><br /> 

    <input type="submit" name="inloggen" value="Inloggen"/> 

</form> 
0

У вас есть опечатка, используйте mysql_num_rows вместо mysql_rum_rows

Смежные вопросы