我是OOP的新手,有这个代码并且在创建数据库连接时出现问题,可能是什么问题?奇怪的是我没有收到任何错误但我无法从数据库中创建任何MYSQL INSERTS或SELECTS,因为尚未建立连接
//include the file that contains variables necessary for database connection
require_once 'configurations.php';
//This is the class that will be used for the MySQL Database transactions
class MySQLDatabase
{
private $database_connection;
//constructor class
function __construct()
{
$this->open_connection();
}
public function open_connection()
{
$this->database_connection = mysql_connect(DATABASE_SERVER, DATABASE_USERNAME, DATABASE_PASSWORD);
if (!$this->database_connection)
{
//if the connection fails, return the following message and indicate the error
die("Could not connect to the MYSQL Database due to: " . mysql_error());
}
else
{
//if the connection is made to MYSQL database, then select the database being used
$database_selection = mysql_select_db(DATABASE_NAME, $this->database_connection);
//if the database to be used cannot be selected, return this error
if (!$database_selection)
{
die ("Could not select the database due to: " . mysql_error());
}
}
}//end of function open database
}//end of class MySQLDatabase
$database_transactions = new MySQLDatabase();
答案 0 :(得分:2)
我会考虑一些事情......
function __construct()
但所有其他方法和
属性可以是public
或
private
- 使用public function
__construct()
open_connection()
上市?是否应该从中调用
“外”?你想要一个人吗?
直接执行此方法
从一个对象?考虑制作private function open_connection()
- > http://de.php.net/manual/en/language.oop5.visibility.php die()
?你真的
想要输出错误信息
用户?这样做并不安全。
最好抛出Exception
并使用try{}
和catch{}
来处理错误 - > http://de.php.net/manual/en/language.exceptions.php 你真的确定你没有收到任何错误信息吗?显示使用您的query
方法...到目前为止您的代码应该没问题(如果某些内容不正确,至少应该在屏幕上显示die()
错误。)