php - 从所有表中获取所有 PRODUCT_TYPE = "cars"

标签 php mysql pdo

database
==========brand_1(table)

------------------product_1

------------------product_2

==========brand_2(table)

------------------product_1

------------------product_2

所有行结构都有这个

ID、产品类型、产品名称

我被困在这里了

$table_sql = "SHOW TABLES";

# get table name
$tables = $connection->_query($table_sql);

while (($table = $tables->fetch(PDO::FETCH_NUM)) !== false)
{
  $fields = $connection->prepare("SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMN WHERE PRODUCT_TYPE");
  $fields->execute();
}

我的问题如何从所有表中获取所有 PRODUCT_TYPE = "cars"?如果我回显 $tables 我已经显示了表名称。我的目的是获取所有表名 1st ,然后以某种方式循环并获取所有 PRODUCT_TYPE 并存储到数组中。

我怎么得到这个?

最佳答案

创建所有表名的数组,您可以在其中找到此标志,并在 foreach 中创建 SQL 查询,例如:

SELECT COLUMN_NAME FROM brand_1 WHERE PRODUCT_TYPE = 'cars'
UNION
SELECT COLUMN_NAME FROM brand_2 WHERE PRODUCT_TYPE = 'cars'
UNION  ........

foreach 类似:

$query = '';
foreach (array_of_dbtables as $table)
    $query += ' UNION SELECT COLUMN_NAME FROM ' . $table . ' WHERE PRODUCT_TYPE = "cars" ';

并且您必须为数组中的第一项添加 IF,则不能使用 UNION。

不客气,如果有助于将答案标记为正确,其他人祝您有美好的一天

关于php - 从所有表中获取所有 PRODUCT_TYPE = "cars",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41520930/

相关文章:

javascript - 如何更改具有不同时区的javascript中的日期

php - 创建自定义php错误日志文件

php - php中的小时计算

php - 套接字损坏且无法使用 Laravel 登录 MySQL

mysql - 选择与外国 ID 匹配的两行?

mysql - 如何选择与一千列中的某一行匹配的所有行?

php - MySQL PDO - 设置默认获取模式?

php - 将 PDO::FETCH_CLASS 与魔术方法一起使用

php - php 页面中的查询不起作用

php - 如何将多个查询合并为一个并使用单个 while 循环获取数据?