当前位置: 代码迷 >> PHP >> php用mysqli模块连数据库Fatal error: Call to a member function query() 。解决思路
  详细解决方案

php用mysqli模块连数据库Fatal error: Call to a member function query() 。解决思路

热度:121   发布时间:2016-04-28 23:33:04.0
php用mysqli模块连数据库Fatal error: Call to a member function query() 。。。。
出现了这个错误:Fatal error: Call to a member function query() on a non-object in D:\wamp\www\bills\model\UserDB.class.php on line 24
代码如下:
PHP code
<?php        class Database    {        var $mysqli;        var $showError;                public function _construct($configFile="config.inc.php")        {            require_once($configFile);            $this->mysqli=new mysqli($dbhost,$dbuser,$dbpwd,$dbname);            if(mysqli_connect_errno())            {                echo "物品数据库连接失败!";            }        }        public function close()        {            if($this->mysqli)                $this->mysqli->close();            $this->mysqli=FALSE;        }        public function _destruct()        {            $this->close();        }    }    class UserDB extends Database    {        public function queryUserByName($name)        {            $query="SELECT * FROM Users WHERE name='".$name."'";            if ($result=$this->mysqli->query($query))  //此处提示出错!!                return true;            else                 return false;        }


然后在另一个页面里调用上面的类对象:
PHP code
<?php    function __autoload($className)    {        include_once "../model/".$className.".class.php";    }    $udb=new UserDB();   //明明初始化了,可是到类里面就出错?    $idb=new ItemsDB();       echo "jinlaile";//    if(isset($_COOKIE("userInfo")))//    {//        $userInfo=unserialize($_COOKIE("userInfo"));//    }    switch($_GET["action"])    {        case "register":                        $lvalue=$_POST;            $rtmp=$udb->queryUserByName($lvalue["name"]);            echo "alert";            if($rtmp)  //这个名字没有注册            {                $rusers=new User($lvalue);                if($udb->addUser($rusers))                {                    setcookie("start",0);                    setcookie("userInfo",serialize($rusers));                    setcookie("username",$rusers->name);                    header("Location:../view/index.php");                }                else                     header("Location:../view/errors.php?value=tianjia");            }            break;       }


------解决方案--------------------
public function __construct($configFile="config.inc.php") //两个下划线
  相关解决方案