我有一个android项目,我可以在editText字段中键入一个关键字,并使用php搜索MySQL数据库以检索正确的JSON响应。
现在我添加了两个带有文本字段的微调器,以便在我的数据库中进行更具体的搜索。这两个其他字段位于同一个数据库中,但位于不同的表中。 (这两个表只包含1到6的id和每个id的字符串。主表中显示的唯一值来自这两个其他表是id)
所以现在我要向php发送三个关键字(keyword,keyword2和keyword3)。如何进行适当的搜索以在浏览器中进行测试? 我在下面的尝试显示null结果。您可以看到我基本上尝试添加keyword2和keyword3以及UNION以包含两个以上的SELECT。
<?php
//error_reporting(E_ALL);
error_reporting(0);
require_once('db_config.php');
$conn = mysql_connect($db_server, $db_user, $db_password) or die(mysql_error());
$db= mysql_select_db($db_database, $conn);
$keyword=$_GET["keyword"];
$keyword2=$_GET["keyword2"];
$keyword3=$_GET["keyword3"];
// $sql ="SELECT marca,imagempequena,marcatotal,actividade,datainicio FROM empresa WHERE marca LIKE '%$keyword%' and ficha LIKE '%1' ";
$sql = "(SELECT marca,imagempequena,marcatotal,actividade,datainicio FROM empresa WHERE marca LIKE '%$keyword%' and ficha LIKE '%1')
UNION
(SELECT investimento FROM investimento WHERE investimento LIKE '%$keyword2%' )
UNION
(SELECT sector FROM sector WHERE sector LIKE '%$keyword3%' )";
header('content-type: application/json; charset=utf-8');
mysql_query('SET character_set_connection=utf8');
mysql_query('SET character_set_client=utf8');
mysql_query('SET character_set_results=utf8');
$rs = mysql_query($sql,$conn);
$response["empresa"] = array();
while ($row=mysql_fetch_assoc($rs))
{
$i=0;
foreach($row as $key => $value)
{
if (is_string($key))
{
$fields[mysql_field_name($rs,$i++)] = $value;
}
}
$json_result[] = $fields;
}
// success
$response["success"] = 1;
$response = json_encode($json_result);
echo($response);
?>