-1

我有以下几行用于数据库连接的代码,但是我只想使用我的 include("config.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); 
4

3 回答 3

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对象。

于 2012-04-10T19:21:19.833 回答
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); 
?>
于 2012-04-10T19:20:48.490 回答
1

你可以在你的包含文件中创建一个 db 包装类,然后真的很懒惰=)

    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();
于 2012-04-10T19:52:11.840 回答