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/