當前位置:首頁 » 編程語言 » phpfetchassoc

phpfetchassoc

發布時間: 2025-07-31 13:04:54

php mysql_fetch_array函數,怎樣取得所有行

mysql系的函數中都是逐行讀取的,即第一次mysql_fetch_array得到第一行,第二次得到第二行...你可以自己定義一個函數來讀取所有行,例如
function mysql_fetch_all($result) {
$rows = array();

while($row=mysql_fetch_array($result))

$rows[] = $row;

return $rows;

}

更好的辦法建議你用pdo方式訪問mysql,這個也是php目前推薦的方式(php5開始pdo庫默認在php.ini中已經啟用,而mysql系列默認是不啟用的)。pdo提供了fetch_all方法取得所有行及fetch方法取得一行。

更多信息請查看php手冊中的說明。

② php mysql_fetch_assoc 循環遍歷表格

有2個辦法,第一種直接使用sql的多表聯查,效率高,但是得到的數據table1會被擴展成table2一樣的條目數 要再次處理

select*fromtable1a,table2bwherea.orderid=b.orderid

第二種方法,先得到table11的數據,在循環中匹配table2到一個新的列名中

$conn=mysqli_connect("127.0.0.1","root","123","test");
$sql="select*fromtable1";
$rs=mysqli_query($conn,$sql);
$Arr=array();
while($row=mysqli_fetch_assoc($rs)){
$sql="select*fromtable2whereorderid=".$row["orderid"];
$row["order_sku"]=mysqli_fetch_all(mysqli_query($conn,$sql),MYSQLI_ASSOC);
$Arr[]=$row;
}
print_r($Arr)

如果你是剛開始學php 建議直接拋棄mysql用mysqli 因為PHP5.5已經廢棄mysql方法了

③ 新手求助:php從資料庫取值問題mysql_fetch_assoc()函數的問題

mysql_fetch_assoc會從結果集中取出一行記錄,而且資源指針會往下跳,
也就是說,再用mysql_fetch_assoc時,會取得新的一行記錄,
以此類推,每執行一次mysql_fetch_assoc,取一新行,直到取出最後一行,
再取時,因為已經沒有下一行,就會返回false。

綜上所述:
在你的第一個例子中,$s_as=mysql_fetch_assoc($s_re),是取出結果集的第一行,第一行不為空吧,所以$s_as不等於false,所以,當你用while($s_as)時,相當於while(true),是一個死循環

第二個例子中,則不同,while($s_as=mysql_fetch_assoc($s_re)),每次取一行,當取到最後一行時,再沒有一下行了,mysql_fetch_assoc就會返回flash,也就是$s_as=false,while循環就會停止

熱點內容
古文訪問 發布:2025-08-01 07:11:01 瀏覽:510
免費cp源碼 發布:2025-08-01 07:10:59 瀏覽:759
realpathphp 發布:2025-08-01 07:06:05 瀏覽:376
優酷演算法 發布:2025-08-01 07:03:10 瀏覽:47
凌渡汽車有哪些配置 發布:2025-08-01 06:50:30 瀏覽:352
pythonlist指定元素 發布:2025-08-01 06:50:26 瀏覽:403
震旦266網路ftp掃描設置 發布:2025-08-01 06:48:09 瀏覽:911
錢龍公式源碼 發布:2025-08-01 06:36:18 瀏覽:419
面怎麼演算法 發布:2025-08-01 06:35:01 瀏覽:818
有資料庫伺服器地址怎麼登錄 發布:2025-08-01 06:34:52 瀏覽:633