PHP mysqli致命错误:在null

时间:2015-05-20 07:15:33

标签: php mysqli fatal-error

我收到此错误,我不知道如何解决。

'Fatal error: Call to a member function query() on null in C:\xampp\htdocs\cms\lib\db.php on line 46'

代码:

class db {

public $mysqli;

function Connect() {

         $server = 'localhost';
        $dbusername = 'root';
        $database = 'cms';
        $dbpassword = 'lopaka';
        $this->mysqli = new mysqli($server, $dbusername, $dbpassword, $database);

        /* connectie bekijken */
        if (mysqli_connect_errno()) {
            printf("Connectie mislukt: %s\n", mysqli_connect_error());
            exit();
        }
    }


function GetGallery() {

    $query = "SELECT * FROM menu";
    $action = $this->mysqli->query($query);

    while ($row = $action->fetch_assoc()) {
        $gallery .= '<a href="'.$siteurl.''.$row['url'].'" title="'.$row['alt'].'" data-gallery="" ><img src="'.$siteurl.''.$row['url'].'" width="75px" height="75px"></a>';    
    }

    return $gallery;
} 

}

谢谢!!!

编辑 - 现在有效,但现在我有一些新错误:

注意:第42行的C:\ xampp \ htdocs \ cms \ lib \ db.php中的未定义索引:url

注意:第42行的C:\ xampp \ htdocs \ cms \ lib \ db.php中的未定义索引:alt

注意:第42行的C:\ xampp \ htdocs \ cms \ lib \ db.php中的未定义索引:url

2 个答案:

答案 0 :(得分:0)

你应该在你的班级中添加__construct()方法...... 像这样添加......

public function __construct()
{           
    $this->Connect();
}

这里Connect()将初始化,然后只有mysqli query()方法才能工作。

答案 1 :(得分:-1)

     while ($row = mysqli_fetch_assoc($action)) {
            $gallery .= '<a href="'.$siteurl.''.$row['url'].'" title="'.$row['alt'].'" data-gallery="" ><img src="'.$siteurl.''.$row['url'].'" width="75px" height="75px"></a>';    
        }
 return $gallery;