1

重複の可能性:
PHPの配列にprint_r()を適用すると、なぜ「リソースID#4」が表示されるのですか?
PHPのMySql応答から「リソースID#6」を「エコー」するにはどうすればよいですか?

$ resultの結果として「Resourceid#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 );

さらに、関数は非推奨としてマークされており、一般的にSQLインジェクションに対して安全であるとは見なされていないため、PDOmysqliを必ず調べる必要があります。mysql_X()

于 2012-11-07T09:15:43.663 に答える