-2

ログイン:

$_SESSION['username'] = $username;
$id = mysql_query("SELECT  `id`  FROM  `users` WHERE `username`='" . $username . "'");
$_SESSION['logged_in'] = 1;
$_SESSION['id'] = $id;

インデックス(ここに表示しようとしています)

Welcome, <?= $username ?><br> ((works))
ID: <?= $id ?>

ID は、実際には 1 であるのに単に 0 として表示されます。

4

1 に答える 1

2

mysql_query()クエリの結果ではなく、リソース ID を返します。mysql_fetch_assoc()値を使用またはmysql_result()取得する必要があります。

$res = mysql_query("SELECT  `id`  FROM  `users` WHERE `username`='" . $username . "'");
$result = mysql_fetch_assoc($res);
$id = $result['id'];

また

$res = mysql_query("SELECT  `id`  FROM  `users` WHERE `username`='" . $username . "'");
$id = mysql_result($result, 0);

他の方法もありますが、これは一般的なエラーが発生した場所を示しています。

于 2013-11-08T16:17:20.963 に答える