次のコードが失敗する理由について、誰かが私を正しい方向に向けることができます..
MySQLDb.php:
class MySQLDb
{
protected $_mysql;
protected $_query;
function __constructor($host,$username,$password,$db)
{
$this->_mysql = new mysqli($host,$username,$password,$db) or die('Problem connecting to the DB.');
}
function query($query)
{
$this->_query = filter_var($query,FILTER_SANITIZE_STRING);
$stmt = $this->_prepareQuery();
$stmt->execute();
$results = $stmt->_dynamicBindResult($stmt);
}
protected function _prepareQuery(){
$dbh = $this->_mysql;
if ( !$stmt = $dbh->prepare($this->_query) ) {
trigger_error('Problem preparing query', E_USER_ERROR);
}
return $stmt;
}
index.php:
require_once('MYSQLDb.php');
$Db = new MySQLDb('localhost','root','','blog');
$results =$Db->query("SELECT * FROM posts");
プログラムを実行すると、エラーが吐き出されfatal error: call to a member function prepare on a non-object
ますif ( !$stmt = $dbh->prepare($this->_query) ) {
私はこれを行うオブジェクト指向の方法を学ぼうとしているので、これをトラブルシューティングする方法についてはあまり手がかりがありません。
ありがとう。