2012-11-07 49 views
1

可能重复:
Why do I get “Resource id #4” when I apply print_r() to an array in PHP?
How do i “echo” a “Resource id #6” from a MySql response in PHP?

为什么我得到 “资源ID#6” 作为在$结果?想要1或0:P

$sql = "SELECT * FROM members WHERE rchat=1 LIMIT 1"; 
$result = mysql_query($sql); 

if (!$result) { 
unlink($fn); 
//$fn = $_SESSION['sess_user'].'.txt'; 
$fn = 'hittaingen.txt'; 
mysql_query("UPDATE members SET rchat=1 room='" . $_SESSION['sess_user'] . "' WHERE  user='" . $_SESSION['sess_user'] . "'"); 
} 

else { 
    //$fn = $result['room'].'.txt'; 
    $fn = 'hitta.txt'; 
    mysql_query("UPDATE members SET rchat=2 room='" . $result['room'] . "' WHERE user='" . $_SESSION['sess_user'] . "'"); 
    } 

回答

2

mysql_query()仅返回结果对象的引用而不返回结果本身。所以为了让你0或1,你必须除了第一解析结果,使用例如mysql_fetch_array()

$row = mysql_fetch_array($result); 

,你一定要看看PDOmysqli,作为该mysql_X()功能被标记为过时,一般不认为对SQL注入是安全的!