我想通過我的查詢結果中循環多次,我有2種方式記:如果連接在獲取期間丟失,mysql_fetch_array會失敗嗎?
1-
while($data = mysql_fetch_array($res , MYSQL_ASSOC)
{
array_push($new_arr , $data);
}
foreach($sites as $s){
foreach($new_arr as $d)
{
//some code
}
}
2-
foreach($sites as $s){
while($data = mysql_fetch_array($res , MYSQL_ASSOC)
{
//some code
}
mysql_data_seek($res,0);//set the pointer
}
我的問題:我想選擇2更有效,但如果我失去連接mysql_fetch_array期間分貝(選項2)?我得到了分配的結果;這將需要大約10-20分鐘。這會影響查詢結果($ res)還是它們安全?
如果連接在提取過程中失敗,那麼'mysql_fetch_array'中不會有任何內容。此外,您需要停止使用'mysql_'函數,因爲它們[已被棄用](http://www.deprecatedphp.com/mysql)。你應該使用'mysql_error'來嘗試捕獲錯誤。 – Kermit
它需要10-20分鐘?不管選擇哪種方法,您最好長時間努力地檢測故障,以及如何恢復。忘記一個愚蠢的mysql連接,整個服務器都可以關閉。 – goat
njk:我運行查詢並從數據庫中獲取數據,一旦我在$ res中獲得數據,我運行fetch_array,你說如果 - 當我在mysql_fetch_array循環中 - 與服務器的連接時,我得到了數據從丟失,然後$ res將是空的? –