MYSQL或无法正常工作 [英] MYSQL OR not working
本文介绍了MYSQL或无法正常工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个OR
无法正常工作的代码
I have a code in which OR
is not working
try {
$keyword = trim($_GET["keyword"]);
if ($keyword <> "" ) {
$sql = "SELECT * FROM tbl_contacts WHERE 1 AND "
. " (first_name OR last_name LIKE :keyword) ORDER BY first_name ";
$stmt = $DB->prepare($sql);
$stmt->bindValue(":keyword", $keyword."%");
仅从last_name
搜索,而不从first_name
搜索.
It only search from last_name
and not from first_name
.
我需要它同时搜索姓氏和名字.
推荐答案
正确的代码是:
$sql = "SELECT * FROM tbl_contacts WHERE 1 AND "
. " (first_name LIKE :keyword1 OR last_name LIKE :keyword2) ORDER BY first_name ";
$stmt = $DB->prepare($sql);
$stmt->bindValue(":keyword1", $keyword."%");
$stmt->bindValue(":keyword2", $keyword."%");
通知,您不能具有多个一个同名占位符.这就是为什么我使用keyword1
和keyword2
并将相同的值绑定到它们的原因.
Notice that you cannot have more than one placeholder with same name. That's why I use keyword1
and keyword2
and bind same value to them.
这篇关于MYSQL或无法正常工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文