我有一個類,我傳遞一個查詢到,但致命的錯誤「上的空函數查詢」
功能查詢上的空」
發生傳遞變量到MySQL查詢結果當試圖運行查詢時。
我贊同$ mysql_statement並獲得
select * from users
這是預期的查詢,但在查詢語句的上下文中,它總是告訴返回致命錯誤function query on null
。
有關爲什麼合法存儲在$mysql_statement
中的「select * from users」被解釋爲空的任何想法? (使用的屬性,在這裏沒有定義在父類中定義):
的page.php文件:
<?php
include("includes/database_classes.php");
new database_connection;
new database_query("SELECT * FROM users");
?>
...和database_classes.php:
<?php
/*----------------------------------------------------------------------------------------------------*/
class database_connection
{
protected $username = 'root';
protected $password = '';
protected $hostname = 'localhost';
protected $database = 'assistant';
protected $database_handle;
function connect()
{
try
{
$database_handle = new PDO("mysql:host=$hostname;dbname=$database", $username, $password);
}
catch (PDOException $e)
{
print "Error!: " . $e ->getMessage() . "<br/>";
die();
}
}
}
/*----------------------------------------------------------------------------------------------------*/
class database_disconnection extends database_connection
{
function disconnect()
{
$database_handle = null;
}
}
/*----------------------------------------------------------------------------------------------------*/
class database_query extends database_connection
{
protected $mysql_statement;
function __construct($mysql_statement)
{
$this->mysql_statement = $mysql_statement;
echo $mysql_statement;
foreach($this->database_handle->query("$mysql_statement")->fetch_assoc() as $row) {
print_r($row);
}
}
}
/*----------------------------------------------------------------------------------------------------*/
這是一個數組我想? '$ this-> database_handle-> query(「$ mysql_statement」)' – Akintunde007
所以基本上你的屬性database_handle沒有得到正確的初始化 – zenwraight
你最好告訴我們'database_connection'類 – RiggsFolly