我想检查一个数据库,然后先获取所有表名
显示每个表中数据的某种报告
$query = $db3->query("SELECT `table_name` from INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'db3' ") or die("$db3->error");
while ( $table = $query->fetch_assoc() )
{
//echo $table['table_name'].'<br />';
$t = trim($table['table_name']);
//i get all table names now i want to select all columns from that table name :
$select = $db3->query("SELECT * FROM ".$t." ") or die($db3->error);
$row = $select->fetch_assoc();
// checking to see if query worked fine
echo gettype($row);
//it returns NULL
}
我做对了吗?
我该怎么办 ?
最佳答案
出于安全原因,您应该拥有要从其生成报告的数据库/表的白名单。查询所有表均假定所有将来的表都将成为该系统的一部分。
您可以使用show columns from tableName
查询每个表中的列并迭代结果。