[英]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.