簡體   English   中英

mysql_fetch_row()函數不會返回整行

[英]mysql_fetch_row() function does not return entire row

我看到查詢的整個行的回聲:

echo "<ul>";
while($row = mysql_fetch_row($result))
{
   echo "<li>{$row[0]}</li>";
}
echo "</ul>";  

處理查詢時,數據庫中僅顯示一列(client_id),而不顯示整個行。 但是,當我使用

print_r(mysql_fetch_assoc($result));

在while循環之前,我可以看到顯示:

Array (
    [client_id] => 1
    [contact_first_name] => carla
    [contact_last_name] => clausen
    [business_name] => Banana Belt Liquors
    [business_address] => 300 U.S. 24 Woodlan
    [business_address2] =>
    [business_city] => Woodland Park
    [business_state] => Colorado
    [business_zip] => 80863
    [business_areaCode_phone] => 719
    [business_phone] => 687
    [business_phone2] => 9757
    [business_url] => http://bananabeltliquors.com/
    [business_email] => info@bananabeltliquors.com
) 

mysql_fetch_row正在獲取整行,但是根據您的代碼,您僅從整行中獲取第一列。

echo "<ul>";
while($row = mysql_fetch_row($result))
{
   print_r($row);////// this will print the entire row
   echo "<li>{$row[0]}</li>";


    echo "<li>{$row[1]}</li>";///for other columns
    echo "<li>{$row[2]}</li>";
    ---------------------
    ----------------------
    echo "<li>{$row[8]}</li>";
}
echo "</ul>"; 

您只是在回顯每個記錄的第一個字段。 如果您想看到它們,可以將代碼更改為:

echo "<ul>";
while($row = mysql_fetch_row($result))
{
   echo "<li>".implode("<br/>", $row)."</li>";
}
echo "</ul>";  

這將顯示列表項中每一行的所有字段,其中各行之間用一個分隔符分隔。

如果您希望每個字段都在其自己的列表元素中,則可以執行

echo "<ul>";
while($row = mysql_fetch_row($result))
{
   echo "<li>".implode("</li><li>", $row)."</li>";
}
echo "</ul>"; 

$ row將返回整行,但$ row [0]僅具有第一列。 因此,您可以計算列數,然后迭代$ row。

 echo "<ul>";
    while($row = mysql_fetch_row($result))
    {
       $len = count($row);
       for($i =0;$i<$len;$i++){
             echo "<li>{$row[$i]}</li>";
       }
    }
    echo "</ul>";  

暫無
暫無

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

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