我确定这是重复的,但我找不到答案。无论出于何种原因,我都无法查询我的数据库。
我只是想调用一个函数,但是我收到了错误......
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,我没有问题。
我只是看不到我错过的东西。非常感谢任何帮助。
答案 0 :(得分:5)
因为在函数之外声明$adConn
不在范围内。这意味着您无法在函数内访问它。要访问它,您需要将其作为函数的参数传递。
function GetGamesCount($wID, $adConn){
答案 1 :(得分:2)
$adConn
位于全局范围内,如果您将$adConn
更改为$GLOBALS['adConn']
,则无法从该功能访问它。