我的登录脚本中有一部分应该找到尝试登录的用户的“id”(“id”是MySQL表中的一列)。相反,它给出了这个输出:
Array ( [id] => id ) 1
我用过print_r();找到这个输出,但我不计划在开发期的剩余时间内使用它。
我想使用用户的“id”来查找其余的数据库内容,如有必要,请回复它。
//get id of user logging in
$get_id = mysql_query("SELECT 'id' from users WHERE username = '{$username_login}'") or die(mysql_error());
$id = print_r(mysql_fetch_assoc($get_id));
// test echo for id
echo $id;
在此脚本中,$ username_login在脚本的前面定义,此处未显示。
我所拥有的测试用户的“id”是1,如图所示是phpMyAdmin。
顺便说一下,当我在没有print_r的情况下测试时,它回显了“数组”(显然没有引号)。
感谢帮助。
-ethan17458
答案 0 :(得分:1)
$get_id = mysql_query("SELECT `id` from users WHERE username = '{$username_login}'") or die(mysql_error());
$id = mysql_fetch_assoc($get_id);
echo $id['id'];
答案 1 :(得分:1)
永远不要在数据库列名或表名中使用引号('
或"
)。你可以使用反引号(`)
更改此行:
mysql_query("SELECT 'id' from users WHERE username = '{$username_login}'") or die(mysql_error());
为:
mysql_query("SELECT `id` from users WHERE username = '{$username_login}'") or die(mysql_error());
答案 2 :(得分:1)
``
中,而不是''
或""
。''
或
""
,而不是``
如果值数字,则不必将它们放在引号中。