簡體   English   中英

返回多個結果mysql&php

[英]Returning more than one result mysql & php

您好,基本上我正在嘗試返回category_name表中的3個值。 但是,這證明是不可能的。...當我執行var dump時,我得到了array(2) { [0]=> string(3) "one" ["category_name"]=> string(3) "one" }和我不知道我在做什么錯

$connection = mysql_connect("localhost","admin","");
mysql_select_db("test",$connection);
$result = mysql_query("SELECT category_name FROM category ");
$result2 = mysql_fetch_array ($result);
var_dump ($result2)

你需要一個循環,因為mysql_fetch_array()將一次只取一行

$cats = array();
while( $row = mysql_fetch_array ($result)) {
    $cats[] = $row;
}

var_dump( $cats); // This will have all three categories in it

上面的代碼循環mysql_fetch_array()直到沒有剩余數據,然后將從DB返回的行添加到$cats數組中。

首先-您必須切換到mysqliPDO

其次-您必須遍歷返回的數據。 在當前腳本中,您僅將一個結果提取到數組中。

$connection = mysql_connect( "localhost", "admin", "" );
mysql_select_db( "test", $connection );
$result = mysql_query( "SELECT category_name FROM category" );

while( $row = mysql_fetch_array($result) ) {
    echo $row['category_name'], "<br />";
}

您正在從結果集中獲得第一行。

隨后對mysql_fetch_array的調用將返回下一個結果行。

嘗試使用:

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
   var_dump($row);
}

與其他似乎使OP混淆的答案有關的問題是, MYSQL_ASSOC告訴mysql_fetch_array返回一個使用列名作為索引的數組,而不是默認的MYSQL_BOTH (使用數字和命名數組索引)。

希望有幫助!

暫無
暫無

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

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