注意:尝试在第14行的C:\ wamp \ www \ work \ p_login_admin.php中获取非对象的属性

时间:2016-01-26 20:17:04

标签: php mysqli

<?php

session_start();

include "conn.php";

$username = $conn->real_escape_string($_POST['username']);
$password = $conn->real_escape_string($_POST['password']);

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

$hasil = $conn->query($query);

$hitung = $hasil->num_rows;

if($hitung){

    $cetak = $hasil->fetch_assoc();
    extract($cetak);

    $_SESSION['id_users'] = $id_users;
    echo '<script>window.alert("Welcome you had been logged in");windows.location=("../work/admin.php");</script>';
}
else{
    echo '<script>window.alert("Sorry,username or password is wrong");windows.location("../work/login.php");</script>';
}
?>

2 个答案:

答案 0 :(得分:0)

12> $hasil = $conn->query($query);
13> 
14> $hitung = $hasil->num_rows;

$hasil不是对象。 $hasil->query对象的$conn方法部分的内容。

您的错误:

  

尝试在第14行的C:\ wamp \ www \ work \ p_login_admin.php中获取非对象的属性

所以这应该告诉你,在第14行,源项不是一个对象,但你将它视为一个对象。

解决方案:

1)您几乎肯定不希望$hasil变量的内容,而是$conn对象的原始内容。在不知道您的$conn对象包含什么或类包含什么的情况下,甚至不知道您的输出是如何选择的,依赖于您尚未与我们分享的这些细节。

然而,解决方案的细节取决于我们正在使用的确切元素和结构。

(另请确保您的问题包含可以提供解决方案所需的所有详细信息。)

修改

查看Fatal error: Call to undefined function new_mysqli() in C:\wamp\www\work\conn.php on line 8向我展示了conn.php脚本的开头。所以

$hitung = $conn->num_rows;

这应该直接从MySQLi对象(在conn.php文件中启动)给出正确的结果。

另请注意,查询数据已返回$hasil 将无法在PHP中使用,因为您仍需要对检索到的数据运行 MySQLi Fetch 方法。

答案 1 :(得分:0)

错误在于此行$query = "SELECT * FROM admin WHERE username = '$username' AND password = '$password' ";

管理员不应该是用户。

<?php

    session_start();

    include "conn.php";

    $username = $conn->real_escape_string($_POST['username']);
    $password = $conn->real_escape_string($_POST['password']);

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

    $hasil = $conn->query($query);

    $hitung = $hasil->num_rows;

    if($hitung){

        $cetak = $hasil->fetch_assoc();
        extract($cetak);

        $_SESSION['id_users'] = $id_users;
        echo '<script>window.alert("Welcome you had been logged in");windows.location=("work/admin.php");</script>';
    }
    else{
        echo '<script>window.alert("Sorry,username or password is wrong");windows.location("work/login.php");</script>';
    }
?>