php這兩種寫法的的區別是什嗎?解決思路

來源:互聯網
上載者:User
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論壇提供的外掛程式擴充功能,自己做了個簽名檔工具,分享給大家,歡迎技術交流 :)
------解決方案--------------------
第二種迴圈下去的結果。。。貌似我有過死迴圈的經曆。。只能重啟的樣子。。
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.