日期:2014-05-17  浏览次数:20556 次

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") //两个下划线