2016-12-14 5 views
0

это мой код для системы входа в систему. У меня есть таблица под названием Users2 со следующими столбцами: userID, prenume, nume, nicknamee, parola (это пароль) и tara. Что я пытаюсь сделать так: пользователь вводит в свое имя пользователя & пароль. щелчки представить и после нажатия отправить он получает сообщение, если он подключенPHP - MYSQL: не распознает данные в таблице

<form method="post"> 
Username: 
<input type="text" name="nicknameee" placeholder="Username"> 
<br> 
Password: 
<input type="password" name="passwordd" placeholder="Password"> 
<br> 
<input type="submit" name="Submit2" value="submit"> 
<br> 
<?php 
if (isset($_POST['Submit2'])) { 

    $result1 = $conn->query("SELECT nicknamee, parola FROM Users2 WHERE nicknamee='$_POST[nicknameee]' AND parola='$_POST[passwordd]' "); 

    if (mysql_num_rows($result1)>0){ 
     echo "We are connected"; 
    } 
    else{ 
     echo "INCORRECT"; 
    } 

} 
?> 
</form> 

Дело в том, я получаю это:

(имя пользователя и пароль форма + кнопка отправки), а затем: Warning: mysql_num_rows() ожидает параметр 1, чтобы быть ресурсом, данный объект в /home/u381189183/public_html/login.php на линии 30 INCORRECT

+0

Ваш код открыт для sql-инъекции, рассмотрите вопрос о mysqli и подготовленных операциях –

+0

НИКОГДА не храните пароли в открытом тексте в базе данных !! OMG люди все еще делают это? Используйте механизм хеширования, как php 'password_hash()'! – Cagy79

+0

i начал php примерно неделю назад .. спасибо за информацию –

ответ

0

Поскольку результат, возвращаемый запросом является object, а не ресурс, который вы должны использовать в этом $result1->num_rows кейс:

if (isset($_POST['Submit2'])) { 

    $result1 = $conn->query("SELECT nicknamee, parola FROM Users2 WHERE nicknamee='$_POST[nicknameee]' AND parola='$_POST[passwordd]' "); 

    if ($result1->num_rows > 0){ 
     echo "We are connected"; 
    } 
    else{ 
     echo "INCORRECT"; 
    } 

} 

Также вы должны переключиться на не менее mysqli. Может быть PDO. И используйте подготовленные заявления.

+0

@OP сочетает процедурное и объектно-ориентированное программирование. (Просто для того, чтобы уточнить, почему использовать num_rows, а не mysql_num_rows) –

+1

Поскольку результатом запроса является «объект», а не ресурс. – Ionut

+0

Хорошо, пока все хорошо. Так оно работает, спасибо. Но теперь я хочу перенаправить пользователя в link.ext/loggedin.php в инструкции if. Как мне это сделать? Это команда html или команда php? –

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