PHP: не может использовать глобальную переменную в функции для подключения MySQL

Я искал стек, чтобы получить ответ, но ничего не решило мою проблему. Итак, вот мой выстрел:

$conn = mysqli_connect('localhost', 'username', 'pass', 'db');
function GetArticle() {
global $conn;
$sql = "sql query";
$getresult = mysqli_query($conn, $sql);
..
}

Это не похоже на работу. Если я помещу $ conn внутри функции, она работает нормально.

Есть идеи?

0

Решение

Я не знаю вашей точной ситуации, но в целом я не вижу выгоды от использования $conn как глобальный. Ваша функция зависит от соединения mysqli для работы, поэтому просто сделайте соединение параметром функции.

function GetArticle($conn) {
$sql = "sql query";
$getresult = mysqli_query($conn, $sql);
..
}

Затем, после того как вы установили свое соединение, вы можете вызвать функцию с вашим объектом соединения в качестве аргумента.

$conn = mysqli_connect('localhost', 'username', 'pass', 'db');
$article = GetArticle($conn);

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

2

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

Других решений пока нет …

По вопросам рекламы [email protected]