2014-10-20 100 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