【问题标题】:How do I store a value from a sql query into a variable?如何将 sql 查询中的值存储到变量中?
【发布时间】:2009-05-14 05:37:18
【问题描述】:
$resourcesbuilt = mysql_query("SELECT resourcesbuilt FROM user WHERE username = '$username' LIMIT 1");

if ($resourcesbuilt<=0 )
{
    mysql_query("INSERT INTO resources (username, dollars) VALUES ( '$username', '1000')") or die (mysql_error());
    mysql_query("UPDATE user SET resourcesbuilt = '1' WHERE username = '$username'");
}

基本上,我在用户表中有一个列,它充当一个标志,告诉我是否为该特定用户创建了不同的表。如果没有,则为 0,如果有,则为 1。但是,似乎我不能只将查询存储到变量中并检查其是否为 0,因为查询的实际值未存储在 var 中。当我回显 var 时,它只是说 Resource id #3。我对 php 和 SQL 的研究失败了。有谁知道将结果从 sql 查询存储到 php 中的变量中的方法?或者至少可以为我指明正确的方向?提前致谢。

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    问题是mysql_query返回的结果不能用这种方式。相反,您必须调用

    $value = mysql_fetch_array($resourcesbuilt, MYSQL_ASSOC)
    $value ["resourcesbuilt"]
    

    这将为您提供表中该字段的值。 以here 为例。

    【讨论】:

      【解决方案2】:
      $ rs = mysql_query("UPDATE user SET resourcesbuilt = '1' WHERE username = '$username'");
      

      将结果存储到名为 rs 的记录集中 然后您可以通过调用来检索值

      $myrow = mysql_fetch_array($rs)
      

      将整行放入名为 myrow 的数组中 并通过$myrow[column_name]检索它们的值

      哦,还有一个音符 据我记得你不能存储它们,因为它们不是选择语句 您将拥有的唯一资源是 mysql_num_rows

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-12-01
        • 2019-06-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多