2010-08-19 85 views
4

我正在運行一個PHP腳本,它從Oracle數據庫更新表。首先,我收到一個對象與JSON:oracle php ORA-00911更新無效字符

[{"lot":"KLMHA17N9N00","requestor":"B10078","id":"FRESHLOT","username":"B26696","password":"B26696"},{"lot":"KLMHA17R1800","requestor":"B10078","id":"FRESHLOT"}] 

這沒有問題,因爲我已經在其他項目中一直使用JSON。

$db_query = "update ao_lots 
       set RMRID='".$rmrid->requestor."-".$rmrid->id."' 
       where ALOT_NUMBER='".$rmrid->lot."';"; 

如果我回應查詢我得到這樣的:

update ao_lots 
    set RMRID='B10078-FRESHLOT' 
where ALOT_NUMBER='KLMHA17N9N00'; 

我在這裏看不到任何問題

然後我分析的結果爲$ rmrid對象之後創建查詢但是當我執行查詢時,我得到這個警告並且沒有更新:

警告:oci_execute()[function.oci-execute]:ORA-00911:無效字符

我做了這個錯誤代碼的一些搜索,但我不能,我發現

任何建議,將不勝感激

+1

請更新與輸出的問題'DESCRIBE AO_LOTS' – 2010-08-19 16:29:59

+0

它也將如果您可以嘗試運行您從SQL * Plus生成的SQL並查看是否有相同的錯誤,那麼可以提供幫助。如果沒有語句錯誤,您可以回滾更新。 – dpbradley 2010-08-19 17:00:23

+0

我在SQL * Plus上運行語句,它運行沒有問題,我一直這樣做很久以前,但我想現在自動化過程 – Arturo 2010-08-20 00:56:31

回答

14

不需要分號的信息修復在SQL語句的末尾。

它使用SQL * Plus和大多數其他工具,表示「我已經寫完的說法,現在去執行它」

+0

這解決了這個問題,我以爲我試過這個,謝謝! – Arturo 2010-08-20 01:18:24