2011-01-27 15 views
1

このコードを持つOOPを初めて使用していて、データベース接続の作成に問題がありますが、何が問題なのでしょうか?不思議なことにあなたはすべてのエラーを取得していないです、まだ私はすべてのMYSQL挿入を行うことができないか、接続がデータベース接続にオブジェクトを使用する

//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(); 
+2

エラーメッセージが表示されますか?あなたはそれが働いていないことを伝えようとしていますか? –

+0

データベースに接続がないため、データベースへのINSERTを実行しようとしています – Gatura

+1

mysqliやPDOなどのあらかじめ構築されたデータベースオブジェクトを使用するだけではどうですか? – GordonM

答えて

2

私が検討するいくつかのものがありますがなされていないため、データベースから選択を...

  • function __construct() を書き込むが、他のすべてのメソッドおよびプロパティ いずれかpublic又は privateある - 方法open_connection() 01である理由public function __construct()
  • を使用public? 「outside」から呼び出す必要がありますか? に直接このメソッドを実行してもらいたいですかオブジェクトから ?考えてみてください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()で画面にエラーが表示されるはずです)。

関連する問題