我正在尝试从数组中的某个数据库中获取所有表,因此我可以将它与另一个数据库进行比较。
//Get a list of all tables
$sql = "SHOW TABLES FROM Data;";
$result = mysqli_query($conn, $sql);
$resultCheck = mysqli_num_rows($result);
if ($resultCheck == 0)
{
exit("NO SQL RESULTS");
}
$array = mysqli_fetch_all($result);
print_r($array);
然而,当我这样做时,它会导致我得到一个数组,其结果嵌套在另一个数组中。
Array
(
[0] => Array
(
[0] => table1
)
[1] => Array
(
[0] => table2
)
[2] => Array
(
[0] => table3
)
[3] => Array
(
[0] => table4
)
)
有没有一种方法可以做到这一点,而不使用while循环和mysqli_fetch_assoc?
答案 0 :(得分:0)
您可以尝试这样的事情:
SELECT group_concat(table_name) as tables FROM information_schema.tables where table_schema='Data'
这将返回单个字段 表 ,其中包含所有表名的逗号分隔列表。
然后您可以使用:
$array = mysqli_fetch_array($result);
$tables = explode(",", $array['tables']);
print_r($tables);
将表名拆分为数组