2013-09-21 130 views
0

我確定這是重複的,但我找不到答案。無論出於何種原因,我無法查詢我的數據庫。警告:mysqli_query()期望參數1是mysqli,null給出

只要我試圖調用一個函數,但我得到的錯誤...

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

其中是$ adConn定義? –

+1

這要求參觀[Little Bobby Tables](http://xkcd.com/327/) – MisterBla

回答

5

因爲$adConn是在函數之外聲明的,所以不在範圍之內。這意味着你不能在函數內部訪問它。要訪問它,你需要將它作爲參數傳遞給函數。

function GetGamesCount($wID, $adConn){ 
+0

非常感謝你John!這工作。我有一種感覺,它與範圍有關,但我仍然學習PHP不知道在哪裏看。 – scleveland04

2

$adConn是在全球範圍內,你不能從功能訪問它,如果你改變$adConn$GLOBALS['adConn']它應該工作。

相關問題