php - 从表中查询记录,其中 attribute = items from array from previous query

标签 php mysql sql arrays

表 1: id(自增) 用户名 类别

表 2: id(自增) 项目名 类别

我有 2 个问题。

1 个查询显示用户(已登录)所属的类别:

 $sql = "SELECT * FROM table1 WHERE '$login_session' = username";

我可以列出每条记录:

 if ($result->num_rows > 0) {
      while($row = $result->fetch_assoc()) {
      echo "category: " . $row["category"]. "<br>";
 }

这很好。

我的第二个查询依赖于第一个查询。我需要列出表 2 中类别所属的所有记录,该记录属于上一个查询中的数组类别。

 $sql2 = "SELECT * FROM table2 WHERE category = I DO NOT KNOW WHAT TO PUT HERE";

$sql2怎么写?

最佳答案

一种方法使用in:

SELECT *
FROM table2
WHERE category IN (SELECT category FROM table1 WHERE '$login_session' = username");

关于php - 从表中查询记录,其中 attribute = items from array from previous query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37612425/

相关文章:

php - 获取表不存在于 php 和 mysql

php - 如何在 PHP 中获取对根对象的迭代对象引用?

sql - 连续的日期

php - Magento 以编程方式创建一个 sales/quote_address 对象

php - 限制每日访问

php - Laravel 5 中的空值

mysql - MySQL IN(..) 谓词的最佳参数大小

mysql - 如果在表后隐式声明,则在 FROM 子句中设置变量会导致 JOIN 错误

php - 如何获取max id之前的数据

mysql - 在 MySQL 5.6.27 中创建触发器时出现奇怪的错误