Php 多个SQL搜索-或命令
我的用户现在可以按地址搜索订单。我想做的是让他们能够搜索多个条件。让他们按地址、城市、州等进行搜索 我试过使用下面的代码,但似乎不起作用Php 多个SQL搜索-或命令,php,sql,Php,Sql,我的用户现在可以按地址搜索订单。我想做的是让他们能够搜索多个条件。让他们按地址、城市、州等进行搜索 我试过使用下面的代码,但似乎不起作用 $sql = ("SELECT order_number, sitestreet FROM `PropertyInfo` WHERE `sitestreet` LIKE '%$street%' OR `sitecity` LIKE '%$city%' AND `user` LIKE '$user'"); $result = mysql_query($sq
$sql = ("SELECT order_number, sitestreet FROM `PropertyInfo` WHERE `sitestreet` LIKE '%$street%' OR `sitecity` LIKE '%$city%' AND `user` LIKE '$user'");
$result = mysql_query($sql);
我认为它没有读取$user中的值,因为它显示了所有用户的所有订单
如何使用多个serach值搜索订单
谢谢大家! 将OR语句括在括号中,使其形成一个顶级条件,用户是另一个顶级条件:
$sql = '
SELECT
`order_number`,
`sitestreet`
FROM
`PropertyInfo`
WHERE
(
`sitestreet` LIKE "%'.$street.'%" OR
`sitecity` LIKE "%'.$city.'%"
) AND
`user` = '.$user;
另外请注意,如果希望与
用户
列直接匹配,请使用=
而不是像这样的。我假设$user
是一个数字ID。将OR语句括在括号中,这样它就形成了一个顶级条件,用户就是另一个顶级条件:
$sql = '
SELECT
`order_number`,
`sitestreet`
FROM
`PropertyInfo`
WHERE
(
`sitestreet` LIKE "%'.$street.'%" OR
`sitecity` LIKE "%'.$city.'%"
) AND
`user` = '.$user;
另外请注意,如果希望与用户
列直接匹配,请使用=
而不是像
这样的。我假设,$user
是一个数字ID…像这样试试怎么样
$sql = ("SELECT order_number, sitestreet FROM PropertyInfo WHERE (sitestreet LIKE
'%$street%' OR sitecity LIKE '%$city%') AND user LIKE '$user'");
像这样试试怎么样
$sql = ("SELECT order_number, sitestreet FROM PropertyInfo WHERE (sitestreet LIKE
'%$street%' OR sitecity LIKE '%$city%') AND user LIKE '$user'");
和的优先级高于或(有关详细信息,请参阅)。您需要将OR语句括在括号中,以便在AND语句之前将其作为一条语句进行计算
SELECT order_number, sitestreet
FROM `PropertyInfo`
WHERE (`sitestreet` LIKE '%$street%' OR `sitecity` LIKE '%$city%')
AND `user` LIKE '$user'
和的优先级高于或(有关详细信息,请参阅)。您需要将OR语句括在括号中,以便在AND语句之前将其作为一条语句进行计算
SELECT order_number, sitestreet
FROM `PropertyInfo`
WHERE (`sitestreet` LIKE '%$street%' OR `sitecity` LIKE '%$city%')
AND `user` LIKE '$user'
尝试:
您应该将ORs分组在一起。从它的书写方式来看,我相信它的解读是“如果街道匹配,忽略任何其他条件(或),否则城市和用户都必须匹配。”
此外,G molvi的观点也很好,除非您正在寻找模式匹配,否则请使用=
HTH试试:
您应该将ORs分组在一起。从它的书写方式来看,我相信它的解读是“如果街道匹配,忽略任何其他条件(或),否则城市和用户都必须匹配。”
此外,G molvi的观点也很好,除非您正在寻找模式匹配,否则请使用=
HTH我认为用户上的like应该在user='user'的位置,而不是我认为用户上的like应该在user='user'的位置