我创建了名为functions.php的php脚本,其中我编写了以下代码。当我写“ $ conn = mysql_connect('localhost','root','pass'); ”这一行时,它工作正常。但是我想将这些凭据存储在配置文件中,以便在使用db时编辑细节变得非常容易。所以我创建了 config.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 :(得分:0)
您的语法不正确,请尝试以下操作:
<?php
// this is config.php
$config = array(
'host'=> 'localhost', // Missing comma
'username' => 'root' ,
'password' => 'pass' ,
'database' => 'sample'
);
?>
此外,您不需要将$config
传递给函数,它将在全球范围内提供。
答案 1 :(得分:0)
为什么要将$config
参数添加到connect
函数中?您没有传递任何参数,因此$config
在您的函数中始终为null
。将参数添加到您的调用应该可以解决问题。
$con = connect($config);
答案 2 :(得分: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');
答案 3 :(得分:0)
我想建议以下代码。我将在config.php中定义变量而不是数组值,并使用函数.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);