php - MySQL SELECT * FROM 表 WHERE 名称 LIKE (?) OR 所有者 LIKE (?);

标签 php mysql

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

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

在我的网站上,我想搜索名称或所有者。现在我只能搜索名称而不能搜索所有者。这就是我寻求帮助的原因,我尝试重写该语句,但无论如何我都只能搜索其中之一。

提前致谢。

最佳答案

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

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

您可以通过一些选项来实现此目的。

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

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

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

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

关于php - MySQL SELECT * FROM 表 WHERE 名称 LIKE (?) OR 所有者 LIKE (?);,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39848211/

相关文章:

mysql - 如何在 mysql 中将重复行更改为唯一值?

php - 页面刷新后记住选择的选项

php - 找出博客正在使用的 WordPress 版本(从外部)

php 101 DateTime 使用 atom 格式

php - var/www/html 目录的权限

javascript - SQLSTATE[42000] : Syntax error or access violation:

mysql - 在MYSQL中排除选择查询中的特定列

mysql - MySQL 中何时使用单引号、双引号和反引号

php - 在 PHP 中自动加载特征

php - PHP mysqli错误