2015-12-18 7 views
0

Так я пытался получить некоторые данные из моей базы данных MySQL, но я продолжаю получать эту ошибку:MySQLi - пытается получить свойство необъектного

Notice: Trying to get property of non-object on line 28

Это мой код:

$uname = $_POST['uname']; 
    $upass = $_POST['upass']; 

    $servername = "<hostname>"; 
    $username = "<user>"; 
    $password = "<pass>"; 
    $dbname = "<dbname>"; 

    // Create connection 
    $conn = new mysqli($servername, $username, $password); 

    // Check connection 
    if ($conn->connect_error) { 
     die("Connection failed: " . $conn->connect_error); 
    } 

    $sql = "SELECT username, password FROM users WHERE username='".$uname."' AND password='".$upass."'"; 
    $result = $conn->query($sql); 

    if ($result->num_rows == 1) { 
    while($row = $result->fetch_assoc()) { 
     $_SESSION['uname'] = $row['username']; 
    } 
    } else { 
    echo "Incorrect Details"; 
    } 

    //close connection 
    $conn->close(); 
+0

Какой из них 28? Проверьте наличие ошибок при выполнении запроса. http://php.net/manual/en/mysqli.error.php – chris85

+0

28 будет 'if ($ result-> num_rows == 1) {' – Deimantas

+0

Попробуйте 'var_dump ($ result);' это false? – chris85

ответ

0

эй, я думаю, вам нужно добавить свою базу данных имя в вашей связи мой друг.

вам нужно изменить этот

$conn = new mysqli($servername, $username, $password); 

этой

$conn = new mysqli($servername, $username, $password, $dbname); 

см this

+0

, а также я пропустил «пароль» в моем db – Deimantas

+0

Я просто заметил это как первый раз, поэтому я не продолжал читать :) извините за это –

0

Вы получаете эту ошибку, потому что:
1. Ваш запрос не удался. Если запрос функции завершится неудачно, он вернет false. У вас есть имя пользователя и пароль в базе данных, называемой пользователями? Точно набрал подобное, уважая столицу?
2. Ваше соединение недействительно. Проверьте, работает ли ваше соединение, вставив некоторые отладочные сообщения.

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