-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';
    ...

$lmこれで、PHPスクリプトで、オブジェクトとオブジェクトにアクセスでき$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 に答える