我在 Bluemix 和 nodered 上使用 Dashdb 开发应用程序,我的 PHP 应用程序使用对 web 服务的调用来调用 node-red,每当我在 PHP 上的函数调用要插入表的节点并且字段 GEO_ID 为空时,应用程序就会失败,我理解这个问题,似乎没有通知第三个参数,我刚刚尝试检查参数并传递了类似 NULL 的内容,但它仍然无法正常工作。
见代码:
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 查询节点:错误:[IBM][CLI Driver][DB2/LINUXX8664] SQL0420N 在函数“DECIMAL”的字符串参数中发现无效字符。SQLSTATE=22018
如果有人可以帮助我,我真的很感激。谢谢,爱德华多·迪奥戈·加西亚