Я уверен, что это дубликат, но я не могу найти ответ на этот вопрос. По какой-то причине я не могу запросить мою базу данных.
Просто я пытаюсь вызвать функцию, но я получаю ошибку …
Warning: mysqli_query() expects parameter 1 to be mysqli, null given in ... on line 12
Мой файл dbConnect.php имеет
$adConn = mysqli_connect("myHost","myUser","myPword","myDB");
Мои файлы functions.php имеют
require "dbConnect.php"; // Check connection if (mysqli_connect_errno($adConn)) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } //-------------------------------------------------// // Gets total number of games for a given week // //-------------------------------------------------// function GetGamesCount($wID){ $sql = "SELECT * FROM schedule WHERE weekID=$wID"; $gamesRS = mysqli_query($adConn, $sql); $games = mysqli_fetch_array($gamesRS); }
Я не получаю никакой ошибки из проверки соединения, я также попытался включить ее в функционал. Я знаю, что могу использовать функцию mysqli_num_rows, что и буду. Мне просто нужно выяснить, почему он не будет запрашивать базу данных. Я попытался выполнить запрос с другими функциями с той же проблемой. Однако, если я запрашиваю на странице или используя ajax из отдельного файла, у меня нет проблем.
Я просто не вижу, что мне не хватает. Любая помощь приветствуется.
Поскольку $adConn
объявлен за пределами функции, она не входит в объем. Это означает, что у вас нет доступа к ней внутри функции. Чтобы получить доступ к нему, вам необходимо передать его как aparameter функции.
function GetGamesCount($wID, $adConn){
$adConn
находится в глобальной области, и вы не можете получить к нему доступ из функции, если вы измените $adConn
на $GLOBALS['adConn']
он должен работать.