作者erho (ptt訪客)
看板PHP
標題[請益] 請問OCI8處理SQL查詢的問題
時間Thu Oct 12 11:29:44 2017
$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://webptt.com/m.aspx?n=bbs/PHP/M.1507778987.A.86F.html
※ 編輯: erho (218.161.102.67), 10/12/2017 11:47:16
1F:→ MOONRAKER: if (沒資料) { echo "沒資料"; } 10/12 14:09
2F:→ MOONRAKER: 這不是超簡單的 10/12 14:09
這樣會跳錯誤吧,真的沒方法去判斷OCIExecute是否有查詢結果嗎
※ 編輯: erho (218.161.102.67), 10/12/2017 14:36:34
3F:→ MOONRAKER: 為什麼會跳錯誤 10/12 16:47
4F:→ swallowcc: 他該不會真的以為貼上 "沒資料" 這幾個字吧... 10/13 11:39
會跳錯的原因是if括號內要expr而不是string,
找oci8函式找不到檢查沒資料的對應函式,
我只能每次檢查看有沒有進while
我會提問是我是寫不出這個if的expr,
是我對oci8函式理解有誤還是真的沒有
※ 編輯: erho (218.161.102.67), 10/13/2017 13:27:03
5F:→ MOONRAKER: 每次檢查看有沒有進while有什麼不好嗎 10/13 13:42
6F:→ MOONRAKER: 用一個flag還是counter就可以了 10/13 13:43