2012-04-10 90 views
-1

我有以下幾行代碼的數據庫連接,但是我只想使用我的包括(「config.php」)而不是這長長的行代碼,我怎麼會去這樣做使用PHP配置文件連接到數據庫,而不是PDO連接線

try { 
    $dbh = new PDO('mysql:host=localhost;dbname=lms;charset=UTF-8', 'root', 'password'); 
} 
catch (PDOException $e) { 
    die('unable to connect to database ' . $e->getMessage()); 
}  

// create LM object, pass in PDO connection 
$lm = new lazy_mofo($dbh); 
+4

把那些行加入到您的config.php。問題解決了。 – 2012-04-10 19:19:53

回答

4

只是做一個config.php文件,例如考慮這個文件存儲在web根目錄下(/var/www/),那麼config.php的內容是這樣的:

<?php 

    try { 
     $dbh = new PDO('mysql:host=localhost;dbname=lms;charset=UTF-8', 'root', 'password'); 
    } 
    catch (PDOException $e) { 
     die('unable to connect to database ' . $e->getMessage()); 
    }  

    // create LM object, pass in PDO connection 
    $lm = new lazy_mofo($dbh); 

?> 

然後在其他PHP腳本使用include功能:

<?php 

    include '/var/www/config.php'; 
    ... 

現在,在你的PHP腳本,你可以訪問$lm對象和$dbh對象。

+0

事情是我已經有一個配置文件,看起來像這樣:<?php $ link = mysql_connect('localhost','根','密碼');如果(!$ link){''無法連接:'。mysql_error()); } mysql_select_db('lms',$ link); ?> – dames 2012-04-10 19:32:44

+0

但PDO是在我正在處理的報告上,所以我從網站上獲得了一個模板,現在我試圖讓所有連接都通過一個配置文件運行 – dames 2012-04-10 19:33:40

+0

,所以現在我的配置文件看起來像這樣(和它似乎工作): <?php $ link = mysql_connect('localhost','root','password');如果(!$ link){''無法連接:'。mysql_error()); } mysql_select_db('lms',$ link); ? > getMessage()); } //創建LM對象,傳入PDO連接 $ lm = new lazy_mofo($ dbh); ?> – dames 2012-04-10 19:39:41

1

例如include("config.inc.php"),爲的config.inc.php:

<?php 
try { 
    $dbh = new PDO('mysql:host=localhost;dbname=lms;charset=UTF-8', 'root', 'password'); 
} 
catch (PDOException $e) { 
    die('unable to connect to database ' . $e->getMessage()); 
} 
$lm = new lazy_mofo($dbh); 
?> 
+0

不是_or_。這是一個PDO問題 - 'mysql _ *()'沒有被使用。 – 2012-04-10 19:22:32

+0

是的,我更新了代碼。 – Dion 2012-04-10 19:23:28

+4

有人可以解釋這行是什麼/做'$ lm = new lazy_mofo($ dbh);' – Colbyd 2012-11-16 20:53:56

1

您可以在包含文件,並得到真正的偷懶一下它創建一個數據庫包裝類=)

define('DB_TYPE', 'mysql'); 
    define('DB_HOST', 'localhost'); 
    define('DB_NAME', 'lms'); 
    define('DB_USER', 'root'); 
    define('DB_PASS', 'password'); 

    class Database{ 

     public function __construct() { 

      $db = new PDO(DB_TYPE.':host='.DB_HOST.';dbname='.DB_NAME, DB_USER, DB_PASS); 
      $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
     } 

    } 

    $o = new Database(); 
-1

我的連接PDO

define("DB_HOST", "localhost"); 
    define("DB_USER", "root"); 
    define("DB_PASS", ""); 
    define("DB_NAME", "db"); 

     try { 

     $db = new PDO("mysql:host=" . DB_HOST . ";charset=utf8mb4;dbname=" . DB_NAME, DB_USER, DB_PASS); 

     /* set the PDO error mode to exception */ 
     $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
     $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);       

     //echo "Connected successfully"; 

     } 

     catch(PDOException $e) { 

     echo "Connection failed: " . $e->getMessage(); 

     }