簡體   English   中英

mysql_data_seek和mysql_num_rows

[英]mysql_data_seek and mysql_num_rows

我正在嘗試重置變量中的數據,以便可以再次調用它。 如果第一個查詢中有數據,我需要它來運行重置。 首先,我正在檢查數據,其次,如果有數據,則將索引設置回0。

這在我的本地主機環境中有效,但在我的實時環境中無效。 我知道我得到的錯誤是因為第一個查詢沒有得到任何結果,所以mysql_num_rows($query)為空。

我收到錯誤: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource.

(此代碼在第一個查詢產生結果,成功重置並顯示第二個查詢時起作用。)

if (mysql_num_rows($query)){
    mysql_data_seek($query, 0);
}

有沒有更好的方法可以檢查第一個查詢是否包含信息,而如果找不到任何信息,不會吐出錯誤呢?

注意有關使用mysql_的其他注釋? 職能。

如果您出於某種原因要多次遍歷結果,那么請按照Marc B的評論在第一遍中將它們轉儲到數組中。 例如(仍然使用mysql_?函數);

$result = mysql_query($query);
if (!$result) {
    echo 'Could not run query: ' . mysql_error();
    exit;
}
while($row = mysql_fetch_row($result)){
    $myResultSet[]=$row;
}

完成后,我們可以根據需要多次遍歷該集合

foreach($myResultSet as $row){  # note foreach resets each time
    # do stuff with $row['fieldname']
}

但是,您應該趁此機會將您的mysql_更新為更多最新的方法...此基礎解決方案將保持不變。

如果仍不能解決問題,請發布更多代碼,以便我們了解原因和嘗試執行的操作。

暫無
暫無

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

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