繁体   English   中英

从MySQL结果集中检索单个行或单元格

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM