PHP は、mysqli モジュールを使用してデータベースに接続します。致命的なエラー: メンバー関数 query() の呼び出し。ソリューションのアイデア

WBOY
リリース: 2016-06-13 13:11:08
オリジナル
1365 人が閲覧しました

PHP は、mysqli モジュールを使用してデータベースに接続します。致命的なエラー: メンバー関数 query() の呼び出し。 。 。 。
このエラーが発生しました: 致命的なエラー: D:wampwwwbillsmodelUserDB.class.php の 24 行目で非オブジェクトのメンバー関数 query() を呼び出します
コードは次のとおりです:

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

ログイン後にコピー


次に、別のページで上記のクラス オブジェクトを呼び出します。
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;
       }


ログイン後にコピー


---- --解決策------------------
public function __construct($configFile="config.inc.php") //2 つのアンダースコア
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート