У меня есть MySQL соединение, которое включено в отдельный файл:
require 'settings.php';
и у меня есть файл со всеми функциями, в том числе:
require 'functions.php';
В настройках там это выглядит так:
$db = mysqli_connect("host", "username", "passwort", "database");
if(!$db) {
exit("Error: ".mysqli_connect_error());
}
и функция использует это соединение следующим образом:
function includehomepage() {
$data = array();
$query = "SELECT pagecontent FROM `pages` WHERE `id` = `0`";
$query = mysqli_query($db, $query);
$data = mysqli_fetch_assoc($query);
return $data['pagecontent'];
}
Но я получаю сообщение об ошибке, подобное этому:
Undefined variable: db in /var/... on line 18
У тебя есть ответ? Переменная должна быть определена во включенном файле .. Я запутался. Спасибо за ваши ответы!
Проблема переменной области. смотреть на global
function includehomepage() {
global $db;
$data = array();
$query = "SELECT pagecontent FROM `pages` WHERE `id` = '0'";
$query = mysqli_query($db, $query);
$data = mysqli_fetch_assoc($query);
return $data['pagecontent'];
}
$ db — это глобальная переменная includehomepage
функция. Если вы хотите получить к нему доступ, вы должны передать его функции или объявить ее как глобальную внутри функции.
лайк
function includehomepage() {
global $db;
$data = array();
$query = "SELECT pagecontent FROM `pages` WHERE `id` = '0'";
$query = mysqli_query($db, $query);
$data = mysqli_fetch_assoc($query);
return $data['pagecontent'];
}
или иметь его в качестве параметра в вашей функции и передать его через вызов.
function includehomepage($db) {
$data = array();
$query = "SELECT pagecontent FROM `pages` WHERE `id` = '0'";
$query = mysqli_query($db, $query);
$data = mysqli_fetch_assoc($query);
return $data['pagecontent'];
}
includehomepage($db);