[英]Retrieve a single row or cell from MySQL result set
好的,我可以查询并输出整个结果集。 我需要的是只选择结果集的一行,以免对该行/单元格进行全新的查询。 例如
$query = "SELECT * FROM books";
$query_result = mysql_query($query,$connection);
while($book = mysql_fetch_array($query_result){
output... (have no problem outputting the whole result set)
}
我只是想知道在不进行全新查询的情况下选择结果集的单行...或单个单元格将需要什么。 非常感谢!
如果您仍然选择所有行,但在整个结果集旁边还需要某些特定行,则可以将其保存在变量中
while(book = mysql_fetch_array($query_result){
if (some condition) {
$var = $row['col'];
}
}
echo $var;
简单的答案是“ where”子句。
$ query =“ SELECT * FROM books WHERE books.title ='SQL for Dummies'”;
如果使用,则会得到一行
SELECT * FROM books LIMIT 1
您可能想添加一个ORDER BY来控制返回哪一行。 例如:
SELECT * FROM books ORDER BY date_published DESC LIMIT 1
如果您不希望表中的所有列,只需将*
替换为所需列的列表即可,例如:
SELECT author, title
FROM books
ORDER BY date_published DESC
LIMIT 1
如果您要检索的是完整集,但仅处理一行,那么您只需要跳过while
-loop。
$row = mysql_fetch_array ($query_result);
您可以使用此查询获取单行:
SELECT * FROM books LIMIT 1
要么,
$query = "SELECT * FROM books";
$query_result = mysql_query($query,$connection);
$book=$query_result[0];
// $ book有第一行结果
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.