2014-10-20 158 views
0

我創建了一個名爲functions.php的php腳本,我在其中編寫了以下代碼。當我寫「$ conn = mysql_connect('localhost','root','pass');」這一行時,它工作正常。但我想將這些憑據存儲在配置文件中,以便在使用db時編輯細節變得非常容易。所以我創建的config.php和已經寫如下代碼:建立連接失敗:PHP

<?php 
// this is config.php 
$config = array(

    'host'=> 'localhost' 
    'username' => 'root' , 
    'password' => 'pass' , 
    'database' => 'sample' 
); 
?> 

這是的functions.php

<?php 
include 'config.php'; 
function connect($config) { 
    $conn = mysql_connect($config['host'],$config['username'],$config['password']); 
    return $conn; 
} 

$con = connect(); 
if(!$con) die ('problem in connection'); 

但是,當我這樣做,然後它不工作。我怎樣才能解決這個問題? Plzz HLP

+0

你不發送配置到連接功能 – 2014-10-20 07:52:26

+0

你只是忘了喂參數 – Ghost 2014-10-20 07:53:38

+0

這很容易sql注入,使用PDO。 http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers – Dale 2014-10-20 07:59:40

回答

0

我想建議下面的代碼。相反數組值的,我會在config.php定義變量和使用它的functions.php

的config.php

<?php 
    define("DB_HOST", "localhost"); 
    define("DB_USERNAME", "root"); 
    define("DB_PASSWORD", "pass"); 
    define("DB_NAME", "sample"); 
?> 

的functions.php

include('config.php'); 
    $conn = mysql_connect(DB_HOST,DB_USERNAME,DB_PASSWORD); 
+0

thanxx bro這是工作... – 2014-10-21 07:13:52

0

你的語法不正確,試試這個:

<?php 
// this is config.php 
$config = array(

    'host'=> 'localhost',  // Missing comma 
    'username' => 'root' , 
    'password' => 'pass' , 
    'database' => 'sample' 
); 
?> 

而且,你不需要通過$config發揮作用,這將是全球上市。

+0

嘗試,但其顯示錯誤「連接問題」...現在wat做? – 2014-10-21 07:12:53

+0

確保你的用戶名,密碼是正確的,你的mysql引擎正在工作... – 2014-10-21 07:14:48

+0

兄弟得到了它,我沒有通過$ config到我的函數連接...現在它的工作正常... thnxx無論如何 – 2014-10-21 07:20:05

0

爲什麼您將$config參數添加到connect函數?您沒有傳遞任何參數,因此$config在您的功能中始終爲null。將參數添加到您的呼叫應該可以解決問題。

$con = connect($config); 
+0

thanxx bro這也正常工作... m使用webmatrix而使用php,它不顯示任何錯誤,如果做錯了什麼...所以是任何方式來解決這個問題.. ?? – 2014-10-21 07:17:15

0

更改您的config.php到:

<?php 
// this is config.php 
$config = array(

    'host'=> 'localhost', // comma was missing 
    'username' => 'root' , 
    'password' => 'pass' , 
    'database' => 'sample' 
); 
?> 

而且functions.php中到:

<?php 
include 'config.php'; 
function connect($config) { 
    $conn = mysql_connect($config['host'],$config['username'],$config['password']); 
    return $conn; 
} 

$con = connect($config);  // You need to pass $config variable when calling function 
if(!$con) die ('problem in connection'); 
+0

yeah ryt和thnxx ... hv a nyc day :-) – 2014-10-21 07:17:59

+0

接受我的回答,如果這有幫助。 :) – 2014-10-21 07:26:03