2016-07-19 22 views
1

別の接続ファイルを作成しましたが、今度はクラス形式で変更したいと思います。 ここに私のコードは、私は私のindex.phpファイルで、このファイルが含まれている場合クラス形式で別々の接続ファイルを作成する

<?php 
$servername="localhost"; 
$username="dd"; 
$password="*******"; 
$database="Db"; 

class Connection 
{ 
    function connect() 
    { 
     $con = mysql_connect($servername,$database,$username,$password) || die("Error connecting to database"); 
     mysql_select_db("dd_KrishnaDb") or die ("database selection problem"); 


    } 
} 
?> 

が、今ではindex.phpのファイルで接続を確立していない、です。

<?php 
include_once ('Connection.php'); 
    $db = new Connection(); 
    ?> 

は、私がアクセスは「ユーザーのために拒否得た」@「localhost」のerror.So私のコードで間違っているものを私に教えてください。誰かがすでにここ指摘のように

+0

は、変数のスコープについて学びます。 –

+0

myqlliを使用しようとしました – JYoThI

答えて

1

あなたConnection.phpファイル

class Connection 
{ 
    public function __construct(){ 
     $this->servername = 'localhost'; 
     $this->username  = 'root'; 
     $this->password  = 'xxxxxxxxx'; 
     $this->database  = 'myDB'; 
    } 
    public function connect() 
    { 
     $conn = mysqli_connect($this->servername, $this->username, $this->password,$this->database); 
     if ($conn->connect_error) { 
      die("Connection failed: " . $conn->connect_error); 
     } 
    } 
} 
0

でこれを試してみてください。 mysql機能は去っていきます....そして、これは、アップグレードのための時間です...好ましくはPDOになります。あなたのクラスは次のようになります(PDOルートに行くと仮定します)。

<?php 
     /** 
     * FILENAME: Connection.php 
     */ 

     // IT IS PREFERABLE TO HAVE A SEPARATE FILE FOR THIS AND THEN INCLUDE IT 
     // DATABASE CONNECTION CONFIGURATION: 
     defined("HOST") or define("HOST", "localhost"); // YOUR HOSTNAME 
     defined("DBASE") or define("DBASE", "Db");   // YOUR DB NAME 
     defined("USER") or define("USER", "dd");   // YOUR USERNAME 
     defined("PASS") or define("PASS", "root");  // YOUR PASSWORD 

     class Connection { 

      /*** 
      * @var \PDO 
      */ 
      private static $dbHandle; 

      public static function connect(){ 
       if(!isset(self::$dbHandle)){ 
        self::$dbHandle = self::getInstance(); 
       } 
       return self::$dbHandle; 
      } 

      private static function getInstance(){ 
       try { 
        self::$dbHandle = new \PDO('mysql:host='.HOST.';dbname='. DBASE,USER,PASS); 
        self::$dbHandle->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); 
        return self::$dbHandle; 
       }catch(\PDOException $e){ 
        throw new \Exception($e->getMessage()); 
       } 
      } 
     } 

    ?> 

そして、今、あなたのスクリプトでは、あなたはConnection.phpファイルが含まれており、データベース接続は次のように扱う得ることができます。

<?php 
     include_once ('Connection.php'); 
     $db  = Connection::connect(); // GET THE DB CONNECTION HANDLE 

     var_dump($db); // DUMPS THE PDO OBJECT... 
    ?> 
関連する問題