简体   繁体   English

PHP不显示MYSQLI结果

[英]PHP not displaying MYSQLI results

I'm trying to create a script that i can keep referring to which would display database entries. 我正在尝试创建一个脚本,我可以继续参考该脚本来显示数据库条目。 I believe my problem is when I'm trying to display the result I have no idea on how to call for mysqli and query. 我相信我的问题是,当我尝试显示结果时,我不知道如何调用mysqli和查询。 the ERROR I'm getting is Call to a member function fetch_row() on a non-object in 我得到的错误是在非对象中调用成员函数fetch_row()

class connectDatabase {


public $category;
public $query; 
public $mysqli;

    public function __construct($DB_HOST, $DB_USER, $DB_PWD, $DB_NAME)
    {
        $mysqli = new mysqli($DB_HOST, $DB_USER, $DB_PWD, $DB_NAME);
        return $this->mysqli = $mysqli;

    }

    public function queryInformation($category) {
        $query = "SELECT * FROM postad WHERE `category` = $this->category ORDER by date desc";
            return $this->query = $query;


    }
    public function displayResult() {
        $mysqli = $this->mysqli ; 
        $query = $this->query;
        $result = $mysqli->query($query);

        while ($row = $result->fetch_row()) {
        echo "$row[1] $row[2] $row[3] $row[4]  </br>" ;

    }

    }
}

if you var_dump $result it's probably boolean false because the query is failing. 如果您var_dump $ result,则可能是布尔值false,因为查询失败。 It should be an object if it was successful. 如果成功,它应该是一个对象。 You need to have a fail safe in case the return value is boolean. 如果返回值为布尔值,则需要具有故障保护功能。

Check out the return values: http://php.net/manual/en/mysqli.query.php 查看返回值: http : //php.net/manual/en/mysqli.query.php

We can simplify this a bit. 我们可以稍微简化一下。

Try this 尝试这个

    $mysqli = new mysqli($DB_HOST, $DB_USER, $DB_PWD, $DB_NAME);
    $category = "something";

    $result = $mysqli->query("SELECT * FROM postad WHERE `category` = '$category' ORDER by date desc");
    while ($row = $result->fetch_row()) {
        echo "$row[1] $row[2] $row[3] $row[4]  </br>" ;

    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM