Я создал PHP-скрипт с именем functions.php, в котором я написал следующие коды. Это хорошо работает, когда я написал «$ conn = mysql_connect (‘localhost’, ‘root’, ‘pass’);«эта строка. Но я хочу сохранить эти учетные данные в конфигурационном файле, чтобы мне было довольно легко редактировать детали при работе с БД. Поэтому я создал 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
Я хотел бы предложить следующий код. Вместо значений массива я бы определил переменные в 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);
Ваш синтаксис неверен, попробуйте это:
<?php
// this is config.php
$config = array(
'host'=> 'localhost', // Missing comma
'username' => 'root' ,
'password' => 'pass' ,
'database' => 'sample'
);
?>
Кроме того, вам не нужно проходить $config
чтобы функционировать, он будет доступен во всем мире.
Почему вы добавили $config
параметр к connect
функционировать? Вы не передаете никаких параметров, поэтому $config
всегда null
в вашей функции. Добавление параметра в ваш вызов должно решить проблему.
$con = connect($config);
Измените ваш 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');