0

我确定这是重复的,但我找不到答案。无论出于何种原因,我都无法查询我的数据库。

只是我试图调用一个函数,但我得到了错误......

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,我没有问题。

我只是不明白我错过了什么。任何帮助是极大的赞赏。

4

2 回答 2

6

因为$adConn在函数之外声明的不在作用域内。这意味着您无法在函数内部访问它。要访问它,您需要将它作为函数的参数传递。

 function GetGamesCount($wID, $adConn){
于 2013-09-21T13:23:12.627 回答
2

$adConn是在全局范围内,你不能从函数中访问它,如果你改变$adConn$GLOBALS['adConn']应该可以工作。

于 2013-09-21T13:27:44.097 回答