使用对象进行数据库连接

时间:2011-01-27 06:10:24

标签: php mysql

我是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();

1 个答案:

答案 0 :(得分:2)

我会考虑一些事情......

  • 你写function __construct() 但所有其他方法和 属性可以是publicprivate - 使用public function __construct()
  • 为什么方法open_connection() 上市?是否应该从中调用 “外”?你想要一个人吗? 直接执行此方法 从一个对象?考虑制作private function open_connection() - > http://de.php.net/manual/en/language.oop5.visibility.php
  • 为什么在OOP中使用die()?你真的 想要输出错误信息 用户?这样做并不安全。 最好抛出Exception并使用try{}catch{}来处理错误 - > http://de.php.net/manual/en/language.exceptions.php

你真的确定你没有收到任何错误信息吗?显示使用您的query方法...到目前为止您的代码应该没问题(如果某些内容不正确,至少应该在屏幕上显示die()错误。)