MySQL SELECT * FROM表WHERE名称LIKE(?)OR owner LIKE(?);

时间:2016-10-04 09:00:56

标签: php mysql

正如你在标题中看到的那样,我有一张桌子,我想在我的网站上使用。

这就是现在的MySQL语句:SELECT * FROM bth_nav WHERE name LIKE (?) OR owner LIKE (?);

在我的网站上,我想要搜索姓名或所有者。现在我只能搜索姓名但不能搜索所有者。这就是为什么我要求帮助,我试图重写声明但是我这样做只能搜索其中一个。

提前致谢。

1 个答案:

答案 0 :(得分:1)

答案会比你想象的要复杂一点。

我在你的查询中看到问号,这样我就可以假设你正在使用预备语句(这很好!)。
您的旧语句使用1个值(名称),现在您要使用2。

您可以选择使用此功能。

最简单的一种是将值绑定两次,但这不是最好的方法。

更好的方法是命名参数,如下所示:

SELECT * FROM bth_nav WHERE name LIKE (:nameOwner) OR owner LIKE (:nameOwner);

因此我在这里使用两个参数的相同名称。现在,您可以使用bindValue将值绑定到命名参数,并且只需执行一次。