5

OracleDBインスタンスからテーブルを更新するPHPスクリプトを実行しています。

まず、JSONを含むオブジェクトを受け取ります。

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

(このJSONは、他のプロジェクトで使用しているため、問題がないことがわかっています。)

次に、結果を$ rmridオブジェクトに解析した後、クエリを作成します。

$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';

ここでは問題は発生していませんが、クエリを実行すると、この警告が表示され、何も更新されません。

警告:oci_execute()[function.oci-execute]:ORA-00911:無効な文字

そのエラーコードを検索しましたが、見つけた情報では修正できませんでした。

任意の提案をいただければ幸いです。

4

1 に答える 1

15

SQLステートメントの最後にセミコロンは必要ありません。

これは、SQL * Plusおよびその他のほとんどのツールで、「ステートメントの記述が終了したので、実行してください」を示すために使用されます。

于 2010-08-19T23:11:40.500 に答える