好的,我很好地进行查询并输出整个结果集。我需要的是只选择一行结果集,以避免对该单行/单元格进行全新的查询。例如
$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)
}
我只是想知道如何在不进行全新查询的情况下选择结果集的单行...或单个单元格。非常感谢!
答案 0 :(得分:2)
如果您仍然选择所有行但在整个结果集旁边还需要一些特定的行,则可以将其保存在变量中
while(book = mysql_fetch_array($query_result){
if (some condition) {
$var = $row['col'];
}
}
echo $var;
答案 1 :(得分:0)
简单的回答是'where'子句。
$查询=” 选择 * 从书本 WHERE books.title ='SQL for Dummies' “;
答案 2 :(得分:0)
如果您使用
,则会获得一行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
答案 3 :(得分:0)
如果您的后续内容是检索完整集,但只处理一行,则只需跳过while
- 循环。
$row = mysql_fetch_array ($query_result);
答案 4 :(得分:0)
您可以使用此查询获取单行:
SELECT * FROM books LIMIT 1
或者,
$query = "SELECT * FROM books";
$query_result = mysql_query($query,$connection);
$book=$query_result[0];
// $ book有第一行结果