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

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-13 13:11:08
Original
1403 people have browsed it

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
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
<?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;
        }

Copy after login


然后在另一个页面里调用上面的类对象:
PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
<?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;
       }


Copy after login


------解决方案--------------------
public function __construct($configFile="config.inc.php") //两个下划线
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template