我想通過在PHP中創建數據庫類來學習面向對象的編程更清晰。面向對象數據庫類
這就是我現在所擁有的。當我嘗試使用$ db-> query()調用它時,我得到一個有關$ mysqli作爲未定義變量的錯誤。
請解釋如何使變量$ mysqli定義。
<?php
class phpDatabaseClass {
public function __construct()
{
$mysqli = new mysqli(DBhost, DBusername, DBpassword, DBname);
}
public function query()
{
$sql = 'select * from users';
$results = $mysqli->query($sql);
if(($results->num_rows) > 0)
{
echo 'We have: '.$results->num_rows;
}
}
}
?>
在另一個文件我正在實例化對象,然後調用一個函數是這樣的:
require 'phpDatabaseClass.php';
define('DBhost', 'localhost');
define('DBusername', 'root');
define('DBpassword', 'root');
define('DBname', 'campbellCustomCoatings');
$db = new phpDatabaseClass();
$db->query();
我認爲定義常量的目的是爲了不能更改它們。你是否說這是有風險的,因爲它可以被改變或者因爲它可以被用戶查看?什麼會是更好的解決方案? – Catfish 2010-06-25 14:42:11
@卡通只有風險,因爲它們是全球可用的。也看到這個問題http://stackoverflow.com/questions/593440/what-is-the-best-way-to-store-configuration-variables-in-php – alex 2010-06-26 00:02:17