2017-09-11 1 views
-1

데이터베이스 구성 파일에 pdo connection (config.php)이 있습니다. 이것은이 파일의 내용입니다.PHP를 사용하여 PHP 파일 내용을 자동으로 다시로드하는 방법은 무엇입니까?

$db_host = "localhost"; 
    $db_name = "my_database_name";//@ This line is dynamically Adding 
    $db_user = "root"; 
    $db_pass = ""; 
    // @Connecting the database with above credentials 
    try{ 
     $db_conn = new PDO("mysql:host={$db_host};dbname={$db_name}", $db_user, $db_pass); 
     $db_conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    }catch(PDOException $e){ 
     echo $e->getMessage(); 
    } 

일부 스크립트를 사용하여 $db_name = "my_database_name"; 행을 추가합니다. 그런 다음 즉시이 데이터베이스 이름을 사용합니다. 그러나

공지 사항을 보여주는이 config.php 파일 : 정의되지 않은 변수 : F의 DB_NAME은 : \ XAMPP는 htdocs에는 rootfolder 7

내 지식에 따라, 문제는 설정 \ config.php를 줄입니다 \ \ \ $ db_name을 동적으로 추가하기 때문입니다. 그래서 만약 우리가 자동으로 config.php PHP 파일을 다시로드하면 작동 할 것입니다. 자동으로 PHP 파일을 다시로드하는 방법?

+0

문제는 조금 혼란 - 당신은 당신이 동적으로 $의 DB_NAME = "my_database_name"를 작성하는 말; config.php 파일에 줄 바꿈? – flauntster

+0

예, $ db_name = "my_database_name"을 (를) 추가합니다. 동적 인 작업에 동일한 데이터베이스 이름을 사용합니다. –

답변

0

구성 파일의 내용을 함수 (또는 더 나은 클래스 인 OOP로 바꿈)로 래핑하는 경우 그런 다음 원할 때마다 이름 데이터베이스 이름으로 함수를 호출 할 수 있습니다. 연결을 반환하면 항상 올바른 연결을 유지하게됩니다.

application.php

require_once('db.php'); 
$conn1 = getDBConnection('db1'); 
// do stuff on db1 

$conn2 = getDBConnection('db2'); 
// do stuff on db2 (or db1 since its still open) 

db.php를

function getDBConnection($db_name) { 
    // make the connection 
    return $db_connection; 
} 
관련 문제