从MySQL数据库的一行中读取一列


Read one column from one row from a MySQL database

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

$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'");返回mysql_fetch_array($result)['value'];

但这行不通。我只是想知道是否有一种更简单、更切中要害的方法来获得这样的值。

使用这个:

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

使用此黑客)

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

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

你想要这个吗?

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

试试这个:

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

您应该寻找的是封装机制。例如,您可以创建一个类User,它将对应于SQL表"User"的一行。然后你只需一行就能得到他的身份证:

$user->getID();

您还可以创建一个类来聚合所有用户,然后使用类似的东西:

$collection->getUserID("3435563");

但据我所知,没有比这更简单的方法了。

如果您希望它只返回一个值,请使用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'];

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