2011-11-18 72 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(); 
相关问题