【问题标题】:MySQL SELECT * FROM table WHERE name LIKE (?) OR owner LIKE (?); [duplicate]MySQL SELECT * FROM table WHERE name LIKE (?) OR owner LIKE (?); [复制]
【发布时间】:2017-02-12 09:04:44
【问题描述】:

正如您在标题中看到的那样,我有一个表格,我想在我拥有的网站中使用它。

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

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

提前致谢。

【问题讨论】:

    标签: php mysql


    【解决方案1】:

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

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

    你有一些选项可以让它工作。

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

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

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

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

    【讨论】:

    • 谢谢,就像一个魅力。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-08
    • 2018-11-28
    • 2020-09-26
    • 1970-01-01
    • 2011-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多