2016-06-18 16 views
0
  <!---- Database File ---> 
     <?php 
     require_once 'config.php'; 

     class MySQLDatabase { 

      private $connection; 

      function __construct() { 
       $this->open_connection(); 
      } 

      public function open_connection() { 
       $this->connection = mysqli_connect(DB_SERVER, DB_USER, DB_PASS, DB_NAME); 
       if(!$this->connection) { 
        die("Database connection Failed: " .mysqli_error($this->connection)); 
       }else { 
        $db_select = mysqli_select_db($this->connection, DB_NAME); 
        if(!$db_select) { 
        die("Database connection Failed: " .mysqli_error($this->connection)); 
        } 
       } 
      } 

      public function close_connection() { 
       if(isset($this->connection)) { 
        mysqli_close($this->connection); 
        unset($this->connection); 
       } 
      } 

      public function query($sql) { 
       $result = mysqli_query($sql, $this->connection); 
       $this->confirm_query($result); 
       return $result; 

      } 


      private function confirm_query($result) { 
       if(!$result) { 
        die("Database connection Failed: " .mysqli_error($this->connection)); 
       } 
      } 


     } 

     $database = new MySQLDatabase(); 
     $database->close_connection(); 

     ?> 

     <!----Config FIle which ----> 

     <?php 
      defined('DB_SERVER') ? null : define("DB_SERVER","localhost"); 
      defined('DB_USER') ? null : define("DB_USER", "faizy"); 
      defined('DB_PASS') ? null : define("DB_PASS", "faizy"); 
      defined('DB_NAME') ? null : define("DB_NAME", "photo_gallery"); 
     ?> 

     <!---index.php----> 

     <!DOCTYPE html> 
     <html lang="en"> 

     <head> 
      <meta charset="UTF-8"> 
      <title>Document</title> 
     </head> 

     <body> 
      <?php 
      require_once '../includes/database.php'; 
      if(isset($database)){ echo "true"; } else { echo "false"; } 
      echo "<h1>Working</h1>"; 
      ?> 
     </body> 

     </html> 

は、私は、単一のPHPを使用し、それが接続されていることを接続しようとすると、これらは、来ている理由は、私のブラウザによって示される警告や通知は誰でも提案することができます、しかし、私は別の機能を使用する場合ファイルと誰もがこれらの警告を解決するために助けてくださいすることができ、これらのエラーが表示され、常によりOOPのPHPを使用してお知らせお知らせと警告以下

Notice: Use of undefined constant DB_SERVER - assumed 'DB_SERVER' in C:\xampp\htdocs\demo\oop\includes\database.php on line 13 

Notice: Use of undefined constant DB_USER - assumed 'DB_USER' in C:\xampp\htdocs\demo\oop\includes\database.php on line 13 

Notice: Use of undefined constant DB_PASS - assumed 'DB_PASS' in C:\xampp\htdocs\demo\oop\includes\database.php on line 13 

Notice: Use of undefined constant DB_NAME - assumed 'DB_NAME' in C:\xampp\htdocs\demo\oop\includes\database.php on line 13 

Warning: mysqli_connect(): php_network_getaddresses: getaddrinfo failed: No such host is known. in C:\xampp\htdocs\demo\oop\includes\database.php on line 13 

Warning: mysqli_connect(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: No such host is known. in C:\xampp\htdocs\demo\oop\includes\database.php on line 13 

Warning: mysqli_error() expects parameter 1 to be mysqli, boolean given in C:\xampp\htdocs\demo\oop\includes\database.php on line 15 
Database connection Failed: 
+0

誰かが助けるために、おそらくあなたが受け取っているエラーを提供する必要があります。 – user2027202827

+0

私の質問を編集しました。再見直しできますか? –

+0

'config.php'が' database.php'と同じフォルダ/ディレクトリにあることを確認しましたか? – Sean

答えて

0

は、データベース・ロジックの上にあなたの定数の定義を入れて、それがうまくいきます。それはあなたの必要なパスが正しく設定されていないことを確認します。

+1

これはコードブロック内の3つの別々のファイルです。 OPは、ここで書式を設定しても明確にはなりません。 – Sean

+1

私はこれを知っています。そのため、彼は、問題の根本的な原因を確認し、configファイルを使用して放棄し、彼のデータベースロジックの上に張り付けるために、そのロジックを分離しようとするのを止める必要があります。それがなぜ機能していなかったのかを知った後、切り離す。 – Jonathan

+0

私はなぜそれが動作していないか知っていない、私はこれが主要な問題だと思う(php_network_getaddresses:getaddrinfo失敗:そのようなホストは知られていません) –

1

私はちょうど3つの別々のファイルのすべての上記のコードを使用してテストを行い、それはすべて私のために働く。私が変更したのはデータベース名であり、私のデータベースの1つになりました。間違ったファイルにリンクする必要があります。

+0

私は同じことをしましたが、それは動作していません、同じ警告とエラー、これらの3つのファイルは別のファイルにあります、OOPのphpを使用するとエラーoccusです –

+1

configのコードとrequire config行を入れ替えます。次に、閉じるの下にインデックスを追加します(必要なし)?>。その後、ブラウザのdatabase.phpにアクセスしてください。あなたのデータベースが存在すると仮定して動作するはずです。 –

+1

私のコードはすべて1つのファイルで動作します:http://pastebin.com/0Y2UGSgg 私は明らかにdbの詳細を変更しました。あなたのものを使用して、私は最後の2つの警告を得ました。私は明らかにphoto_galleryというデータベースを持っていません。 –

関連する問題