我一直在尝试面向对象的PHP编程,目前有三个文件。我有一个class_lib.php文件,里面只有一个databaseServer类,还有一个index.php文件和一个definitions.php文件。我想把所有敏感的数据库信息放到definitions文件中。但是,当我这样做时,尝试连接到数据库时会出现错误:"Unkown server DB_HOST"。我的definitions文件内容如下:
<?php
define("DB_HOST","localhost");
define("DB_USER","root");
define("DB_PASS","password");
define("DB_NAME","database");
?>
然后我像这样在索引文件中使用它们:
include('definitions.php');
include('class_lib.php');
$testing = new databaseServer();
$testing->connect(DB_HOST,DB_USER,DB_PASS,DB_NAME);
我在databaseServer类中使用的函数是这样的:
function connect($host,$user,$pw,$db) {
$this->con = mysql_connect($host,$user,$pw);
if (!$this->con) {
die('Could not connect: ' . mysql_error());
}
$this->selectDb($db);
}
function selectDb($database) {
$this->db = mysql_select_db($database,$this->con);
if (!$this->db) {
echo "Could not Select database: " . mysql_error();
}
}
任何想法为什么这样做不起作用?我还尝试将定义文件放入class_lib文件的include中,但仍然不起作用。
include
有什么问题吗? - Pekkainclude
可以 有一个返回值。 - Pekka