我有一个搜索字段,用于搜索后端sybase中的数据。如果我传递一个参数。它使用调用存储过程SYN_XYZ @param =“abc”搜索数据。 现在,如果我传递两个参数它调用像SYN_XYZ @param =“abc,def”
现在考虑一种情况,即后端数据包含'ab,c'而不是'abc'。如何搜索'ab,c','def'因为sybase会将这个参数视为三个不同的参数,即ab和c和def。
由于
答案 0 :(得分:1)
简单:不要使用字符串连接。相反,请使用CallableStatement
和setString()
。
你的解决方案非常非常危险。想象一下,攻击者正在搜索"; DELETE FROM USER; COMMIT;