2012-04-10 76 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(); 

     }