mysql_fetch_assoc()给了我错误的值

时间:2012-02-08 14:33:50

标签: php mysql

当我进行查询时,我可以进行密码检查和密码,它可以正常工作。 然而,当我尝试提取名为id的行id时,它应该是其他东西时返回0。当我以相同的方式打印密码时,它打印两个数字而不是我希望的字符串。

我或多或少是PHP的初学者,但也许有人可以看到我的代码有什么问题?

$sql = 'SELECT pass FROM tbl_user WHERE email = "'.$email.'" LIMIT 1 ;';
$selection = mysql_query($sql);

$r = mysql_fetch_assoc($selection);
$user_id = $r['id'];
print "user id is: " + $r['id'];
print "user id is: " + $r['pass'];

3 个答案:

答案 0 :(得分:5)

你只是SELECT密码。将您的查询更改为

$sql = 'SELECT id, pass FROM tbl_user WHERE email = "'.$email.'" LIMIT 1 ;';

关于打印它,而不是使用print,请使用echo。另外,使用+代替.,将字符串连接在一起:

echo "user id is: " . $r['id'];
echo "user id is: " . $r['pass'];

答案 1 :(得分:3)

您只能选择pass,而不是id

使用此查询:

$sql = 'SELECT id, pass FROM tbl_user WHERE email = "'.$email.'" LIMIT 1 ;';

答案 2 :(得分:3)

您只在查询中选择pass;所以不会返回id