簡體   English   中英

mysql_fetch_assoc只獲取一條記錄

[英]mysql_fetch_assoc fetching only one record

我有一個包含查詢結果的數組:

.....some code.....
$result = mysql_query("SELECT * FROM vttest");
$row = mysql_fetch_assoc($result);
print_r($row);

但它只打印一條記錄,我不能把$ row放在一個循環中,因為我將在稍后對該變量進行排序。

Array
(
    [id] => 3
    [rep] => Mike
    [name] => Joe
    [department] => Business
    [location] => Room 1
    [email] => xxxx@hotmail.com
    [phone] => 519-123-4567
    [type] => Visit
    [drink] => Coffee
    [notes] => Some notes
    [lastVisited] => 2010-08-27
    [nextVisit] => 2010-08-27
)

我知道有更多的記錄,我怎么能打印所有它仍然能夠使用$ row變量?

您實際上是獲得一條記錄,因為您需要使用循環來獲取所有記錄:

$my_arary = array();
while($row = mysql_fetch_assoc($result)){
  $my_arary[] = $row;
  print_r($row);
}

正如你所說,以后你可以使用$my_arary做任何你喜歡的事情。

$result = mysql_query("SELECT * FROM vttest");

$data = array();
while($row = mysql_fetch_assoc($result)){
    array_push($data, $row);
}

你需要把它放在一個循環中。 然后,如果您以后需要處理該變量,請使用mysql_data_Seek重置內部結果指針:

 mysql_data_seek($result, 0);
 // your later code.

你幾乎擁有它,你需要使用一個循環來獲取每一行的結果,並且當你這樣做時,將每一行分配給一個表。

以下是您正在尋找的東西。

$result = mysql_query("SELECT * FROM vttest");
while($row = mysql_fetch_assoc($result)){
    $rows[] = $row;
}

然后,您需要做的就是訪問該數組,如下所示。

foreach($rows as $index => $value){
    print_r($value);
}

foreach將在您的陣列中一次打印一行,讓您根據需要縮短或使用該數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM