0

データベースクラスでこの方法で $db オブジェクトを開始しています

class MysqlDB {

    protected $_mysql;
    protected $_where = array();
    protected $_query;
    protected $_paramTypeList;
    protected $_crudType = null;

    public function __construct($host, $username, $password, $db) {
        $this->_mysql = new mysqli($host, $username, $password, $db) or die('There was a problem connecting to the database');
    }


    public function query($query)
    {
        $this->_query = filter_var($query, FILTER_SANITIZE_STRING);

        $stmt = $this->_prepareQuery();
        $stmt->execute();
        $results = $this->_dynamicBindResults($stmt);
        return $results;
    }
        protected function _prepareQuery()
    {
        echo $this->_query;
        if (!$stmt = $this->_mysql->prepare($this->_query)) {
            trigger_error("Problem preparing query", E_USER_ERROR);
        }
        return $stmt;
    }

}

この $db オブジェクトを別のクラス (プロファイル クラス) でリンク識別子として使用しています。

$db = new MysqlDb('localhost','root','','xxx');

$query=mysqli_query($db,"SELECT id, parent_id, name FROM categories_general");

このエラーを取り除くにはどうすればよいですか? 実は最近MySQLからmysqliに乗り換えました。

4

4 に答える 4

6

試す

$db = mysqli_connect('localhost','root','XXX','XXX');
于 2012-11-01T03:49:08.673 に答える
2
$db = new mysqli('localhost','root','','test');
$sql = "select * from user";
$result = $db->query($sql);
var_dump($result->fetch_assoc());
于 2012-11-01T03:48:18.707 に答える
0

関数を追加する

public function getDB()
{
    return $this->_mysql;
}

 $query=mysqli_query($db->getDB(),"SELECT id, parent_id, name FROM categories_general");
于 2012-11-01T05:10:40.253 に答える