我使用传统的字符串然后数组格式转义所有输入。所以:
'WHERE VALUE1 LIKE ? AND VALUE2 LIKE ?', ['%abba%', 'Rob%']
我需要在语句中输入“OR”,以便在两列中搜索第一个DataValue ....
'WHERE (VALUE1 LIKE ? OR VALUE2 LIKE ?) AND VALUE3 LIKE ?', ['%abba%', '%abba%', 'Rob%']
然而dataValuesArray是['%abba%','Rob%'], 在不修改dataValues数组的情况下,有没有一种方法可以搜索2个列,其中一个值如下所示: (这不是真正的代码)
'WHERE (VALUE1 OR VALUE2 LIKE ?) AND VALUE3 LIKE ?', ['%abba%', 'Rob%']
还有其他方法,只是想知道它是否可以在mysql中完成。
答案 0 :(得分:1)
这不是最佳答案,只是在某些情况下可以提供帮助的技巧。
我们可以使用IN
将参数与多个列进行比较:
WHERE ? IN (VALUE1, VALUE2)