2011-11-24 28 views
-1

好吧,所以我只是很好地進行查詢和輸出整個結果集。我需要的只是選擇結果集的單個行,以避免對單個行/單元格進行全新的查詢。例如從MySQL結果集檢索單個行或單元

$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

你忘了' $'在'書'上? –

+0

'SELECT somefield FROM ...',然後'echo $ book ['somefield']'? –

+0

確定收聽,問題不在於如何進行查詢。我明白了。問題是輸出結果集的單個行/單元格。原因是因爲我現在有一個項目,我必須爲選擇列表編輯書籍列表。在頁面下方,我需要結果集中的特定書名。我試圖避免創建另一個查詢。可能嗎? – user791187

回答

2

如果你是無論如何選擇所有的行但還需要對整個結果集旁邊一些特定的行,可以將其保存在一個變量

while(book = mysql_fetch_array($query_result){ 
    if (some condition) { 
    $var = $row['col']; 
    } 
} 
echo $var; 
+1

+1因爲我認爲這是問題所在,而不是調整sql查詢 – miherrma

+0

這正是我所期待的。謝謝! – user791187

0

簡單的答案是'where'子句。

$查詢= 「 SELECT * FROM 書 WHERE books.title = 'SQL傻瓜' 」;

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 
0

如果你追求的是獲取全套什麼,但只能處理單行,Y你只需要跳過while -loop。

$row = mysql_fetch_array ($query_result); 
0

您可以使用此查詢來獲取單行:

SELECT * FROM books LIMIT 1 

或者,有結果的第一行

$query = "SELECT * FROM books"; 
$query_result = mysql_query($query,$connection); 

$book=$query_result[0]; 

// $書