php這兩種寫法的的區別是什嗎?
第一寫法:
$sql="select * from table";
$query=mysql_query($sql);
while($row=mysql_fetch_array($query);){
echo "輸出";
}
第二寫法:
$sql="select * from table";
$query=mysql_query($sql);
$row=mysql_fetch_array($query);
while($row){
echo "輸出";
}
------解決方案--------------------
while($row=mysql_fetch_array($query) ),看$row=mysql_fetch_array($query)運算式的值是否為真,如果是則執行迴圈部分,接著返回到前面再檢查$row=mysql_fetch_array($query)的值 如此迴圈。
而第二個例子中$row它的值不會再變化,也就是要麼從不執行迴圈體,要麼永遠執行下去。
你可能需要瞭解下mysql_fetch_array()的作用。
------解決方案--------------------
樓上正解。除了mysql_fetch_array();這個方法以外還可以調用mysql_fetch_object()方法來擷取sql查詢結果。具體用法就不在贅述了。百度一下上面很多
------解決方案--------------------
PHP code
while($row=mysql_fetch_array($query)){//mysql_fetch_array內部有資源的定位指標,每次調用指向下行資料.//由於是允入準則迴圈,然後就形成$row在每次判斷時都是下行資料,由此可判斷出是否到達資料尾端//第二個2樓說的差不多.
------解決方案--------------------
2樓正解,撒花
------解決方案--------------------
區別在於:前者是正確的,後者是錯誤的
------解決方案--------------------
第一種是遍曆,,第二種是取首行,就這麼簡單
------解決方案--------------------
第一種寫法貌似語法錯誤(while運算式裡多了一個分號);
第二種寫法貌似死迴圈。
————————————————————————————————
基於CSDN論壇提供的外掛程式擴充功能,自己做了個簽名檔工具,分享給大家,歡迎技術交流 :)
------解決方案--------------------
第二種迴圈下去的結果。。。貌似我有過死迴圈的經曆。。只能重啟的樣子。。