我正在Oracle數據庫中進行select操作,需要針對結果爲false(不包含結果)或爲true(包含一個或多個結果)採取不同的操作。來自Oracle查詢結果的PHP數
但以下列方式測試結果給我一個問題。在我實際上有查詢結果的情況下,if(!
自然會驗證爲false,並轉到else
聲明 - 完美!
但是,在進行此測試時,內部指針在結果中移動,因此稍後執行while
語句時會丟失第一個結果。
if (!($row = oci_fetch_array($get_doc_paths, OCI_ASSOC+OCI_RETURN_NULLS))){
do something
}
else {
while ($row = oci_fetch_array($get_doc_paths, OCI_ASSOC+OCI_RETURN_NULLS)){
do something with $row
}
}
如何在沒有移動內部指針的情況下測試結果?
在MySQL中我會使用mysqli_num_rows或只是簡單地重置指針。我找不到用Oracle來做到這一點的方法。
'oci_num_rows' http://php.net/manual/en/function.oci-num-rows.php? – Rahman
@Rahman頁面指出「這個函數沒有返回選中的行數!」 – ByScripts
有了MySQL的使用經驗,聽起來就像是一個可以使用的工具 - 不幸的是,它聽起來不像這樣:) –