1

可能重复:
当我将 print_r() 应用于 PHP 中的数组时,为什么会得到“Resource id #4”?
我如何从 PHP 中的 MySql 响应中“回显”“Resource id #6”?

为什么我在 $result 中得到“资源 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'] . "'");
  }
4

1 回答 1

2

mysql_query()只返回结果对象的引用,而不是结果本身。所以为了让你得到 0 或 1,你必须首先使用例如解析结果,mysql_fetch_array()

$row = mysql_fetch_array( $result );

此外,您绝对应该查看PDOmysqli,因为这些mysql_X()函数被标记为已弃用,并且通常被认为对 SQL 注入不安全!

于 2012-11-07T09:15:43.663 回答