私はBluemixでDashdbを使用してアプリケーションを開発しています。私のPHPアプリケーションはwebserviceの呼び出しを使用して、自分の関数PHPがテーブルに挿入するノードを呼び出し、GEO_IDフィールドがnullの場合、アプリケーションが失敗し、問題を理解し、3番目のパラメータが通知されていないように見えるので、前にparamをチェックしてNULLのようなものを渡そうとしました引き続き動作しません。msg.req.queryで受け取ったnull値をmsg.payloadに渡す方法
コードを参照してください:私は以下のようにパラメータを設定している
msg.account_id = msg.req.query.account_id;
msg.user_id = msg.req.query.user_id;
msg.geo_id=msg.req.query.geo_id;
msg.payload = "INSERT INTO ACCOUNT_USER (ACCOUNT_ID, USER_ID, GEO_ID) VALUES (?,?,?) ";
return msg;
そしてDashdbコンポーネント上を:
msg.account_id,msg.user_id,msg.geo_id
第三geo_idが問題ですが、私は以下のコードのようなものを試してみました:
if(msg.req.query.geo_id===null){msg.geo_id=null}
または
私が得たif(msg.req.query.geo_id===null){msg.geo_id="null"}
エラーは、以下のいずれかです。
dashDB query node: Error: [IBM][CLI Driver][DB2/LINUXX8664] SQL0420N Invalid character found in a character string argument of the function "DECIMAL". SQLSTATE=22018
誰かがそれで私を助けることができれば、私は本当に感謝しています。 ありがとう、 Eduardo Diogo Garcia
'msg.geo_id'を未定義にしておけばどうなりますか? – hardillb