2

此代码应该从我的数据库中获取用户 ID,但它返回:资源 ID #6

那么我将如何编写代码以使其返回用户 ID?这是我的代码到目前为止,我知道 mysql_query 已经过时了:

<?php
include("login_check.php");
include("dbconnect.php");
mysql_select_db("maxgee_close2");
$username = $_COOKIE['maxgee_me_user']; 
$user_id = mysql_query("select user_id from users where username = '$username'");
echo "$user_id";
?>
4

3 回答 3

2

mysql_query()文档中:

对于 SELECT、SHOW、DESCRIBE、EXPLAIN 和其他返回结果集的语句,mysql_query() 成功时返回资源,错误时返回 FALSE。

...

返回的结果资源应该传递给 mysql_fetch_array() 和其他处理结果表的函数,以访问返回的数据。

tl;dr mysql_query 返回一个资源,您必须将其传递给另一个函数,例如 mysql_fetch_array()。资源本身不包含您的行。

于 2012-10-23T22:17:17.413 回答
2

该代码不应该返回 ID,而是返回资源!然后您需要访问该资源中的数据,在此处阅读:http ://www.tizag.com/mysqlTutorial/mysqlfetcharray.php (或者可能是官方 PHP 文档)

于 2012-10-23T22:17:46.910 回答
2
mysql_connect("localhost", "mysql_user", "mysql_password") or 
  die("Could not connect: " . mysql_error());
mysql_select_db("maxgee_close2");
$result = mysql_query("select user_id from users where username = '$username'");
$row = mysql_fetch_array($result);
echo $row['user_id'];    
mysql_free_result($result);
于 2012-10-23T22:18:52.120 回答