2011-11-18 65 views
0

我在兩頁上使用這個確切的代碼,並在其中一個爆炸。兩個頁面都具有完全相同的user/pass/host/db鏈接(相同的標題),如果我打印$命令並粘貼到Sequel Pro中,查詢將返回一條記錄。簡單的PHP查詢在一個頁面上工作,在另一個頁面上爆炸

下面是該查詢:

$command = "SELECT ID,Location,OriginalLocationID FROM locations WHERE FloorID='".$_SESSION['FloorID']."' ORDER BY ID DESC LIMIT 1"; 
echo $command; 
$query = mysql_query($command); 
while($results = mysql_fetch_row($query)) 
{ 
    $_SESSION['LocationID']=$results[0]; 
    $_SESSION['LocationName']=$results[1]; 
    $_SESSION['OriginalLocationName']=$results[2]; 
} 

是我得到的錯誤是:

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource 

作爲一個說明,會話[ 'FloorID']設置,當你點擊鏈接,所以這不是空白或破碎。任何想法我做錯了,或者爲什麼它會在一頁而不是另一頁上工作?

此外 - 是的,我谷歌搜索,它不是一個空的錯誤或語法或任何東西,因爲正如我所說,它在另一個頁面上完美的作品。

+0

'$ _SESSION ['FloorID']'有哪些鏈接?我們在這裏看不到。你在這個腳本的開頭是否調用了'session_start()'? –

+3

'echo mysql_error()'查看錯誤的實際原因。 –

+0

'echo $ command;'display是什麼? –

回答

2

警告:和mysql_fetch_row():提供的參數不是一個有效的MySQL結果資源

這表明查詢本身失敗,這可能是因爲無效的語法或因爲數據庫連接本身不會發生已經建立。

在調用mysql_fetch_row()之前,您必須執行錯誤處理,並且在失敗時使用mysql_error()來標識錯誤原因。

$query = mysql_query($command); 
if ($query) 
{ 
    while($results = mysql_fetch_row($query)) 
    { 
     $_SESSION['LocationID']=$results[0]; 
     $_SESSION['LocationName']=$results[1]; 
     $_SESSION['OriginalLocationName']=$results[2]; 
    } 
} 
else echo mysql_error(); 
相關問題