Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:在一个表和另一个表中搜索_Php_Mysql - Fatal编程技术网

PHP:在一个表和另一个表中搜索

PHP:在一个表和另一个表中搜索,php,mysql,Php,Mysql,我正在制作一个自动提示功能,当用户在其存储的字段中写入内容时: $queryString = $db->real_escape_string($_POST['queryString']); 我想让它在用户朋友之后自动提示。用户的朋友在users\u friends中,但只有朋友的ID。现在他们的全名在表“users”中。我想当你搜索它时,应该在用户中查找全名并检查它是否与用户有朋友关系 正如您所理解的,我并不希望我的所有用户都知道彼此的id,例如“52”“233”,而是搜索他们的全名 更

我正在制作一个自动提示功能,当用户在其存储的字段中写入内容时:

$queryString = $db->real_escape_string($_POST['queryString']);
我想让它在用户朋友之后自动提示。用户的朋友在users\u friends中,但只有朋友的ID。现在他们的全名在表“users”中。我想当你搜索它时,应该在用户中查找全名并检查它是否与用户有朋友关系

正如您所理解的,我并不希望我的所有用户都知道彼此的id,例如“52”“233”,而是搜索他们的全名

更新:

我知道你试过这样做: $query=$db->query(“选择uf.bID 来自用户朋友,用户朋友 其中uf.uID='1'和uf.type='friend'以及friends.full_名称,如'$queryString%'限制为10;” );

它从用户ID为1且是朋友的用户朋友中选择出价

现在我开始看到一些我认为的结果。当我写一个我的朋友的全名时,我得到了用户的id(存储在bID中的id)。现在我只需要在id=bID的“users”中获取全名

table: users
id | full_name

table: users_friends
id | uID | bID
因此,总结所有这些(试图做一个更好的总结,以便让您更好地理解:)

当您在搜索字段中键入例如Jack时,$queryString现在是“Jack”。然后,它取“Jack”(用户中的全名),抓取他的id(用户中的id),当然,若他存在的话,然后将其和出价(用户中的朋友)匹配,其中uID是$USER;($user是登录的当前用户的id。)


希望这更容易理解,如果有不清楚的地方,请留下评论。

是否要同时从多个表中读取数据

从table1、table2中选择table1.id、table2.name,其中


我的英语不是很好,什么都懂:我不懂你的问题 但您可以使用以下查询:

mysql_query("SELECT * FROM table_one, table_two WHERE table_one.id = table_two.id");

所以,正如我所理解的,当前用户的id在$user中,查询字符串在$queryString中,你想要的是基于$queryString的用户朋友的名字,对吗

因此,假设数据库的模式如您所说:

table: users
id | full_name

table: users_friends
id | uID | bID
查看此查询是否适合您,然后:

SELECT users.full_name 
FROM users INNER JOIN users_friends ON users.id=users_friends.uID
WHERE bID=$USER AND users.full_name LIKE '$queryString%'
LIMIT 10;

其中$USER和$queryString是您的变量。

您使用的是什么数据库?MySQL?是的,MySQL和php编码