有没有一种快速而肮脏的方法可以从一行中获取一列的值?现在我用这样的东西:
$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'];
创建一个简单的函数来包含查找代码,您可以在一条语句中为数据库查找调用该代码。