Неустранимая ошибка: вызов функции-члена query() для null в
Здравствуйте, я просто хочу написать собственную функцию, чтобы получить значение параметра из MySQL. Мой файл index.php выглядит следующим образом:
<?
include ('config.php'); // here i have database connection details
include ('global-functions.php');
include ('minifier.php');
include ('cache-start.php');
?>
<!DOCTYPE html>
<html lang="jezyk strony z bazy danych">
USTAWIC META! sekcje head<br>
Sprawdzić czy dodac przekierowanie w php z www na bez www !!
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
(...) rest of the file
Файл config.php выглядит так:
<?php
$host = "localhost";
$dbname = "xxxx";
$username = "xxx";
$password = "xxxx";
// Create connection
$conn = new mysqli($host, $username, $password, $dbname);
?>
Теперь я пытаюсь сделать функцию, чтобы принять указанную опцию, я поместил эту функцию в global-functions.php:
<?php
// Get option
function get_option( $option_name ) {
$sql = "SELECT opcja_value FROM opcje WHERE opcja_name='" . $option_name . "'";
$result = mysqli_fetch_array($conn->query($sql));
return $result[$option_name];
}
?>
Теперь я собираюсь вызвать функцию, чтобы получить значение моего варианта. Так:
echo get_option('cache');
или просто, если:
if ( get_option('cache') == '1' ) {
// do stuff
} else {
echo 'option disabled, sorry :(';
}
После вызова функции я получаю фатальную ошибку:
Неустранимая ошибка: вызов функции-члена query() для null в /framework/includes/global-functions.php в строке 10
2 ответа
Область применения Область применения $conn
не существует в рамках вашей функции. Вы можете объявить это с global
или передайте это так:
function get_option( $option_name, $conn ) { // Pass in $conn here
$sql = "SELECT opcja_value FROM opcje WHERE opcja_name='" . $option_name . "'";
$result = mysqli_fetch_array($conn->query($sql));
return $result[$option_name];
}
Я предлагаю прочитать это
Вы обращаетесь к глобальной переменной внутри функции ($conn
). Чтобы сделать эту переменную доступной внутри функции, просто используйте global $conn;
в начале вашей функции.