2015-10-12 121 views
-3

我是使用php編碼的新手,我需要幫助。如何讀取config.php文件中的值到另一個文件

我與這些值的config.php文件

<?php 
define('DATABASE_HOST', 'localhost'); 
define('DATABASE_NAME', 'voltrun'); 
define('DATABASE_USERNAME', 'joy'); 
define('DATABASE_PASSWORD', 'salty'); 
?> 

我也有這些值

<?php require_once"../config.php"; 
echo 'DATABASE_HOST'; 
echo 'DATABASE_NAME'; 
echo 'DATABASE_USERNAME'; 
echo 'DATABASE_PASSWORD' 

    $db_host = 'DATABASE_HOST'; 
    $db_user = 'DATABASE_USERNAME'; 
    $db_password = 'DATABASE_PASSWORD'; 
    $db_database = 'DATABASE_NAME'; 

    $connection = mysqli_connect($db_host, $db_user, $db_password, $db_database); 

     if (!$connection) { 
die('QUERY FAILED' . mysqli_error($connection)); 
    } 


    ?> 

如何從配置獲取參數的任何幫助一個db.php中的文件.php文件放入db.php變量中?由於我仍然收到查詢失敗錯誤。

感謝您的幫助。

+1

'echo'DATABASE_HOST';'(etc.)that is a constant;你將它視爲字符串文字。你不需要報價,其他人也一樣。在'echo'DATABASE_PASSWORD''中缺少分號' –

+0

'DATABASE_HOST'被定義爲'常量'並且您正在'echo'DATABASE_HOST''。 –

+0

@Fred感謝您的指針,問題已解決,b0s3謝謝。 – user3650900

回答

2

代碼的這部分你會刪除它們:

echo 'DATABASE_HOST'; 
echo 'DATABASE_NAME'; 
echo 'DATABASE_USERNAME'; 
echo 'DATABASE_PASSWORD' 
         ^missing ; if that's your actual code. 

    $db_host = 'DATABASE_HOST'; 
    $db_user = 'DATABASE_USERNAME'; 
    $db_password = 'DATABASE_PASSWORD'; 
    $db_database = 'DATABASE_NAME'; 

你包裹所有constants在引號中,把他們當作string literals; 刪除它們

另外,你會缺少分號:

echo DATABASE_HOST; 
echo DATABASE_NAME; 
echo DATABASE_USERNAME; 
echo DATABASE_PASSWORD; // < Added the missing semi-colon 

的錯誤報告會拋出一個解析錯誤

$db_host = DATABASE_HOST; 
    $db_user = DATABASE_USERNAME; 
    $db_password = DATABASE_PASSWORD; 
    $db_database = DATABASE_NAME; 

參考文獻:

添加error reporting到您的文件(S)的頂部,這將有助於找到錯誤。

<?php 
error_reporting(E_ALL); 
ini_set('display_errors', 1); 

// rest of your code 

旁註:顯示錯誤應該只在分期完成,並且從不生產。

還要確保這是正確的:

require_once"../config.php"; 

錯誤報告會告訴你,也。

+0

非常感謝您的幫助。我幾乎沒有意識到這一點,並認爲這是因爲我用引號包裹了常量? – user3650900

+0

@ user3650900非常歡迎。事實上,常數的引號;不應該有任何。 –

0

你必須包含/需要配置文件 - 然後它執行gots,你可以使用常量,你在conf文件中定義爲任何其他常量。

include "config.php"; 
$db_host = DATABASE_HOST; 
// ... 
0
echo 'DATABASE_HOST'; 

這是echo ing 「的DATABASE_HOST」。你想使用,所以你這樣做:

echo DATABASE_HOST; 

注意引號都不見了。

分配給另一個變量時太

$db_host = DATABASE_HOST; 
相關問題