我需要在2个同时表上进行搜索,我认为这个连接可以工作,但是它给了我一个不正确的语法错误。MySQL在2个表上加入
$return_arr = array();
$query = mysql_query("SELECT * FROM clients WHERE lastname LIKE '$q%' AND agencyid = '$agencyid'
UNION
SELECT * FROM busclients WHERE busname LIKE '$q%' AND agencyid = '$agencyid'")or die(mysql_error());
if($query) {
while ($result = mysql_fetch_array($query)) {
if(isset($result['busname'])){
$description['id'] = $result['ID'];
$description['value'] = $result['busname'] ;
array_push($return_arr,$description);
}
else
{
$description['id'] = $result['ID'];
$description['value'] = $result['lastname'] . ", " . $result['firstname'] ;
array_push($return_arr,$description);
}
}
}
echo json_encode($return_arr);
与修复编辑下面建议和整个语法
这是一个自动完成搜索框中输入查询。所以当有人键入客户端或业务客户端名称时,它会使用此查询来搜索数据库,然后使用jquery显示结果。
下面的修复程序有效,但当我在业务客户端上搜索时,它正在返回[]。客户搜索工作正常。
这是错误的:WHERE姓氏,总线名称 – Hackerman
您能否提供样本数据和期望的结果?你的非工作查询并不能传达你真正想做的事情。 –
在问题中描述你的'WHERE'子句应该做什么。 (正如@RobertRozas所述,你的WHERE子句是问题) – AgRizzo