试图获取非对象的属性'num_rows'

时间:2018-04-24 13:07:48

标签: php html mysql

有人可以帮我纠正这段代码吗?

我一直收到这个错误: -

  

注意:尝试获取非对象

的属性'num_rows'
print (df.iloc[:, :len(Y)].eq(Y).all(1))
0     True
1     True
2    False
3    False
dtype: bool

3 个答案:

答案 0 :(得分:2)

更改

if ($result->num_rows > 0) {

if (!empty($result) && $result->num_rows > 0) {

然后它会起作用。

编辑:它不会爆炸的原因是,首先你看到是否有任何结果,首先。如果没有,那么它将不会尝试显示它们(这是发生错误的地方)。

你真的应该替换

$sql =" SELECT * FROM img WHERE id = $test ";

$sql =" SELECT * FROM img WHERE id = ?";

然后使用prepared statements。但这是另一个问题。

答案 1 :(得分:0)

我不确定你是否宣布了你的联系。 Check this documentation

$conn = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if ($result = $conn->query("SELECT ....")) {

    /* determine number of rows result set */
    if($result->num_rows > 0)
    {
       //....with the data stuff
    }


    /* close result set */
    $result->close();
}

/* close connection */
$conn->close();

答案 2 :(得分:0)

正如[http://php.net/manual/it/mysqli.query.php]所建议的那样,我会这样做:

if ($result = $conn->query($sql)) {
    while($row = $result->fetch_assoc()) {
        // ...
    }
} 

如果query调用失败,则返回FALSE