【发布时间】:2017-12-19 15:41:58
【问题描述】:
我有一个准备语句,可以根据我的数据库查找搜索条件,其中包含一个 Articles 表以及 Text 和 Title 列。
$stmt = $pdo->prepare('SELECT * FROM articles WHERE text OR title LIKE :search');
我的问题是该语句仅按标题搜索而完全忽略了文本。
我试过了,它有效,但我还需要标题
$stmt = $pdo->prepare('SELECT * FROM articles WHERE text LIKE :search');
【问题讨论】:
-
WHERE text LIKE :search1 OR title LIKE :search2 -
在两列中搜索相同的词:
.. WHERE text LIKE :search OR title like :search -
@FirstOne 如果我没记错你不能使用相同的名字,即
:search两次 -
@FirstOne 这些对我有用,非常感谢!
-
@RiggsFolly 你有时可以* (?) php pdo prepare repetitive variables。我之前的评论是基于本地测试的 - 正如我之前使用过的那样。但后来我决定搜索有关它的相关帖子并找到链接的问题。来自PDO::prepare:您不能在准备好的语句中多次使用同名的命名参数标记,除非打开了仿真模式。
标签: php select pdo prepared-statement