Функция возврата базы данных Php не работает, когда включена в другие файлы

Я хочу создать файл с подключением к базе данных и вернуть его функцией, чтобы можно было вызывать его в других файлах, но я получаю неопределенную функцию или неопределенную переменную … это мой код

function db()
{
$host = "text";
$user = "text";
$password = "text";
$database = "text";
$db = mysqli_connect($host, $user, $password, $database);
if(!$db)
{
die('OOOPS'.mysql_errno());
}
else{
return $db;
}
}

все, что я делаю в других файлах
потребовать это, а затем, используя затем $ дБ
выполнять запросы
Я использую последнюю версию xaamp с php 5.6

0

Решение

Сначала я начну с ошибок. Вы смешиваете библиотеки, mysql_ а также mysqli_ не может и не будет работать друг с другом. Вам нужно выбрать один и пойти с ним. Теперь вы должны выбрать mysqli_* вариант, потому что mysql_ устарела:

Начиная с PHP 5.5.0 это расширение устарело и будет удалено в
будущее. Вместо этого следует использовать расширение MySQLi или PDO_MySQL.

Взято из руководства php.net


Теперь то, что ты делаешь, крайне плохо. Вы открываете так много связей. Возьмите это из функции и сделайте так:

$host = "text";
$user = "text";
$password = "text";
$database = "text";
$db = mysqli_connect($host, $user, $password, $database);
if(!$db) {
die('OOOPS'.mysqli_error());
}

Теперь вам просто нужно включить вышеуказанный файл (называется как угодно, как db.php или что-то) на каждой странице вы собираетесь использовать базу данных.

Это избавляет вас от необходимости делать это каждый раз, когда вы хотите использовать базу данных:

$db = db();
mysqli_query($db, $query);

Что довольно избыточно.

1

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

Эта ошибка, потому что вы не запустили функцию db (), поэтому $ db var еще не определена.
Если вы будете использовать этот файл в качестве файла подключения, вам не нужна функция.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector