【问题标题】:Finding "id" row in MySQL using PHP使用 PHP 在 MySQL 中查找“id”行
【发布时间】:2014-03-29 18:11:04
【问题描述】:

我的登录脚本的一部分应该找到尝试登录的用户的“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 的情况下进行测试时,它回显了“Array”(显然没有引号)。

感谢您的帮助。

-ethan17458

【问题讨论】:

    标签: php mysql database forms


    【解决方案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'];
    

    【讨论】:

    • 非常感谢。 StackOverflow 绝对是互联网上最好的社区之一。感谢您的帮助,我将继续增长我对 MySQL 的了解。
    【解决方案2】:

    切勿在数据库列名或表名中使用引号('")。你可以使用反引号(`)

    改变这一行:

    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());
    

    【讨论】:

      【解决方案3】:
      • 在 mysql 查询中列出 时,应将它们放在 `` 中,而不是 ''"" 中。
      • 在 mysql 查询中列出 时,应将它们放入 ''"",不在``
        如果值是数字,则不必将它们放在引号中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-21
        • 1970-01-01
        • 2010-11-27
        • 2011-06-26
        • 2015-02-28
        相关资源
        最近更新 更多