【发布时间】:2017-02-12 09:04:44
【问题描述】:
正如您在标题中看到的那样,我有一个表格,我想在我拥有的网站中使用它。
这就是 MySQL 语句现在的样子:SELECT * FROM bth_nav WHERE name LIKE (?) OR owner LIKE (?);
在我的网站上,我想搜索名称或所有者。现在我只能搜索名称但不能搜索所有者。这就是我寻求帮助的原因,我试图重写声明,但是我这样做我只能搜索其中一个。
提前致谢。
【问题讨论】:
正如您在标题中看到的那样,我有一个表格,我想在我拥有的网站中使用它。
这就是 MySQL 语句现在的样子:SELECT * FROM bth_nav WHERE name LIKE (?) OR owner LIKE (?);
在我的网站上,我想搜索名称或所有者。现在我只能搜索名称但不能搜索所有者。这就是我寻求帮助的原因,我试图重写声明,但是我这样做我只能搜索其中一个。
提前致谢。
【问题讨论】:
答案会比你想象的要复杂一些。
我在您的查询中看到问号,这样我可以假设您正在使用准备好的语句(这很好!)。
您的旧语句使用 1 值(作为名称),现在您想使用 2。
你有一些选项可以让它工作。
最简单的方法是将值绑定两次,但这不是最好的方法。
更好的方法是命名参数,如下所示:
SELECT * FROM bth_nav WHERE name LIKE (:nameOwner) OR owner LIKE (:nameOwner);
因此我在这里为两个参数使用相同的名称。现在您可以使用bindValue 将值绑定到命名参数,并且您只需执行一次。
【讨论】: