iT邦幫忙

0

PHP oci_execute特定字串執行錯誤

  • 分享至 

  • xImage

用PHP讀Oracle資料庫的時候
發生一個很弔詭的狀況

確定這段SQL可以查詢到資料

SELECT ENO,PRODUCTID FROM TABLE_A

可是我跑到oci_execute這段的時候就會錯誤

CMD執行PHP也沒有錯誤訊息 是直接中斷只印到RUN2

echo "RUN1 <br>";
$stid = oci_parse($oracle_conn, "SELECT ENO,PRODUCTID FROM TABLE_A");
echo "RUN2 <br>";
oci_execute($stid);
echo "RUN3 <br>";
while ($row = oci_fetch_array($stid)) {
    foreach ($row as $key => $item) {
		echo $item."<br>";
    }
}

但是奇怪的是我把SQL裡面的PRODUCTID拿掉
改成這樣(只剩下SELECT ENO FROM TABLE_A)

echo "RUN1 <br>";
$stid = oci_parse($oracle_conn, "SELECT ENO FROM TABLE_A");
echo "RUN2 <br>";
oci_execute($stid);
echo "RUN3 <br>";
while ($row = oci_fetch_array($stid)) {
    foreach ($row as $key => $item) {
		echo $item."<br>";
    }
}

就可以正常查出結果

這問題有辦法解決嗎?!
再請各位解惑

謝謝 !

Season iT邦研究生 4 級 ‧ 2020-03-06 11:53:45 檢舉
欄位包斜引號看看?
"SELECT `ENO`, `PRODUCTID` FROM TABLE_A"
又或者 "SELECT TABLE_A.ENO, TABLE_A.PRODUCTID FROM TABLE_A"
Neish iT邦研究生 1 級 ‧ 2020-03-06 13:13:07 檢舉
沒辦法 加上`會查不到出現錯誤
加上TABLE名稱也是沒辦法...
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答