Php 获取所有产品类型=“;汽车“;从所有桌子
所有行结构都有这个 ID、产品类型、产品名称 我被困在这里了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”?如果我回显
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" ';