Я искал стек, чтобы получить ответ, но ничего не решило мою проблему. Итак, вот мой выстрел:
$conn = mysqli_connect('localhost', 'username', 'pass', 'db');
function GetArticle() {
global $conn;
$sql = "sql query";
$getresult = mysqli_query($conn, $sql);
..
}
Это не похоже на работу. Если я помещу $ conn внутри функции, она работает нормально.
Есть идеи?
Я не знаю вашей точной ситуации, но в целом я не вижу выгоды от использования $conn
как глобальный. Ваша функция зависит от соединения mysqli для работы, поэтому просто сделайте соединение параметром функции.
function GetArticle($conn) {
$sql = "sql query";
$getresult = mysqli_query($conn, $sql);
..
}
Затем, после того как вы установили свое соединение, вы можете вызвать функцию с вашим объектом соединения в качестве аргумента.
$conn = mysqli_connect('localhost', 'username', 'pass', 'db');
$article = GetArticle($conn);
Я думаю, что это более управляемый подход, чем пытаться отслеживать $conn
доступен в глобальной области видимости перед вызовом функции.
Других решений пока нет …