试图查询数组

时间:2014-04-22 10:57:40

标签: php mysql

我有一个表的函数id引用另一个具有函数名称的表(葡萄牙语中的Funcao,如代码中所示)。 我想打印具有该功能的人员姓名旁边的所有功能的名称。

基本上整个程序的代码是让用户在搜索栏中写一些东西并显示它,因为用户按下一个键,结果显示出来。 这是给我错误的部分。 (search_string变量是用户写入的字段。)

$query = 'SELECT * FROM utilizadores WHERE nome LIKE "%'.$search_string.'%"';

$result = $tutorial_db->query($query);
while($results = $result->fetch_array()) {
    $result_array[] = $results;
}

上面的查询采用了用户名。

$query2 = 'SELECT * FROM funcoes WHERE id_funcao="'.$result_array["id_funcao"].'"';
$result2 = $tutorial_db->query($query2);
while($results2 = $result2->fetch_array()){
    $result_array2[] = $results2;
}

这个获取该用户的函数的id,并尝试查询以获取该函数的名称。

提前致谢

1 个答案:

答案 0 :(得分:0)

最简单的方法是使用连接

SELECT
  utilizadores.nome,
  funcoes.funcao
FROM
  utilizadores
  JOIN funcoes ON (utilizadores.id_funcao = funcoes.id_funcao)
WHERE
  utilizadores.nome LIKE "%<query>%"

然后你有一个数组,其中包含一个查询中人员的名称和功能