[請益] 請問OCI8處理SQL查詢的問題

看板PHP作者 (ptt訪客)時間7年前 (2017/10/12 11:29), 7年前編輯推噓0(006)
留言6則, 2人參與, 7年前最新討論串1/1
$c=oci_connect('AAA','BBB','192.168.1.1/health','zht16big5'); $sql="SELECT A,B,C,D FROM TABLE"; $stid = OCIParse($c, $sql); OCIExecute($stid, OCI_DEFAULT); while ($row = OCI_Fetch_row($stid)) { list ($a,$b,$c,$d)=$row; } 若有查詢結果沒有問題,但若沒有任何資料列被選取, WHILE不會進,要用什麼函式去處理無資料 處理無資料是指,上面的程式若沒查詢結果會是空白網頁, 起碼要有畫面回應無資料 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.161.102.67 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1507778987.A.86F.html ※ 編輯: erho (218.161.102.67), 10/12/2017 11:47:16

10/12 14:09, 7年前 , 1F
if (沒資料) { echo "沒資料"; }
10/12 14:09, 1F

10/12 14:09, 7年前 , 2F
這不是超簡單的
10/12 14:09, 2F
這樣會跳錯誤吧,真的沒方法去判斷OCIExecute是否有查詢結果嗎 ※ 編輯: erho (218.161.102.67), 10/12/2017 14:36:34

10/12 16:47, 7年前 , 3F
為什麼會跳錯誤
10/12 16:47, 3F

10/13 11:39, 7年前 , 4F
他該不會真的以為貼上 "沒資料" 這幾個字吧...
10/13 11:39, 4F
會跳錯的原因是if括號內要expr而不是string, 找oci8函式找不到檢查沒資料的對應函式, 我只能每次檢查看有沒有進while 我會提問是我是寫不出這個if的expr, 是我對oci8函式理解有誤還是真的沒有 ※ 編輯: erho (218.161.102.67), 10/13/2017 13:27:03

10/13 13:42, 7年前 , 5F
每次檢查看有沒有進while有什麼不好嗎
10/13 13:42, 5F

10/13 13:43, 7年前 , 6F
用一個flag還是counter就可以了
10/13 13:43, 6F
文章代碼(AID): #1Ptk6hXl (PHP)
文章代碼(AID): #1Ptk6hXl (PHP)