Php 获取所有产品类型=“;汽车“;从所有桌子

Php 获取所有产品类型=“;汽车“;从所有桌子,php,mysql,pdo,Php,Mysql,Pdo,所有行结构都有这个 ID、产品类型、产品名称 我被困在这里了 database ==========brand_1(table) ------------------product_1 ------------------product_2 ==========brand_2(table) ------------------product_1 ------------------product_2 我的问题是,如何从所有表中获取所有PRODUCT_TYPE=“cars”?如果我回显

所有行结构都有这个

ID、产品类型、产品名称

我被困在这里了

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

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

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

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

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

------------------product_2
我的问题是,如何从所有表中获取所有PRODUCT_TYPE=“cars”?如果我回显$tables,我已经显示了表名。我的意图是首先获取所有表名,然后以某种方式循环并获取所有产品类型并存储到一个数组中


我是如何得到它的?

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

$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();
}
例如:

SELECT COLUMN_NAME FROM brand_1 WHERE PRODUCT_TYPE = 'cars'
UNION
SELECT COLUMN_NAME FROM brand_2 WHERE PRODUCT_TYPE = 'cars'
UNION  ........
并且必须为数组中的第一个项添加IF,然后不使用UNION

不客气,如果有人帮你把答案记为正确的,还有其他人,祝你有愉快的一天

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