mysql — Ошибка при установлении соединения: переполнение стека

Я создал 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

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

Другие решения

Ваш синтаксис неверен, попробуйте это:

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

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

Кроме того, вам не нужно проходить $config чтобы функционировать, он будет доступен во всем мире.

0

Почему вы добавили $config параметр к connect функционировать? Вы не передаете никаких параметров, поэтому $config всегда null в вашей функции. Добавление параметра в ваш вызов должно решить проблему.

$con = connect($config);
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