【问题标题】:Read one column from one row from a MySQL database从 MySQL 数据库的一行中读取一列
【发布时间】:2012-01-07 03:04:40
【问题描述】:

有没有一种快速而肮脏的方法可以从一行中获取一列的值?现在我使用这样的东西:

$result = mysql_query("SELECT value FROM table WHERE row_id='1'");
$row = mysql_fetch_array($result);
return $row['value'];

看来第二行和第三行一定可以合并。

这三行似乎只是为了从一行中获取一列的值。我试过这个:

$result = mysql_query("SELECT value FROM table WHERE row_id='1'"); return mysql_fetch_array($result)['value'];

但这不起作用。我只是想知道是否有一种更简单、更中肯的方法来获得这样的一个值。

【问题讨论】:

  • 当您说“合并第二行和第三行”时,您是在尝试进行某种聚合,例如“总和”或“平均”吗?
  • 我不知道为什么不赞成投票(问题 合法的),但是您将读者与行与行混淆了。您可能需要编辑问题。

标签: php mysql


【解决方案1】:

使用这个:

$result = mysql_query("SELECT value FROM table WHERE row_id='1'");
return mysql_result($result, 0);

【讨论】:

    【解决方案2】:

    利用这个黑客)

    $result = mysql_result(mysql_query("SELECT value FROM table WHERE row_id='1'"), 0);
    

    【讨论】:

      【解决方案3】:

      您可以使用 GROUP_CONCAT (http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat) 函数将它们合并为一个字段。

      【讨论】:

        【解决方案4】:

        你想要这个吗?

        $output = array();
        while($row = mysql_fetch_array($result)){
            $output[] = $row['value'];
        }
        return $output;
        

        【讨论】:

          【解决方案5】:

          试试这个:

          $result = mysql_query("SELECT value FROM table WHERE row_id='1'");
          $row = mysql_fetch_row($result);
          return $row[0];
          

          【讨论】:

          • 谢谢。然而,这本质上是一样的。您刚刚将名称替换为索引。
          • 我真的不明白如何查询比查询并返回更快?这些天也应该使用准备好的语句,所以如果您正在寻找一个安全的网站,请期待更多的代码。
          【解决方案6】:

          您应该寻找的是封装机制。例如,您可以创建一个与 SQL 表“用户”行相对应的用户类。然后你可以只用一行得到他的 id:

          $user->getID();
          

          您还可以创建一个类来聚合所有用户,然后使用以下内容:

          $collection->getUserID("3435563");
          

          但据我所知,确实没有更简单的方法可以做到这一点。

          【讨论】:

            【解决方案7】:

            如果您希望它只返回一个值,请使用 limit 关键字

            /* Limits Results to 1 */
            $result = mysql_query("SELECT value FROM table WHERE row_id='1' LIMIT 1;");
            $row = mysqli_fetch_assoc($result)
            echo $row['value'];
            

            【讨论】:

              【解决方案8】:

              创建一个简单的函数来包含您的查找代码,您可以在单个语句中调用它来进行数据库查找。

              【讨论】:

                猜你喜欢
                • 2019-10-19
                • 2016-10-18
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2011-11-02
                • 1970-01-01
                • 2019-01-10
                相关资源
                最近更新 更多