$tableData = array(array());
...
array_push($tableData, $row[0]);
...
Это просто означает, что вы получите массив, который выглядит следующим образом:
array(array(), 'foo', 'bar', 'baz')
Вы не можете "настроить многомерный массив" таким образом.Это должно выглядеть примерно так:
$tableData = array();
...
array_push($tableData, array($row[0]));
...
При этом вы получите массив вроде:
array(array('foo'), array('bar'), array('baz'))
Полагаю, вам нужно больше чего-то подобного, хотя:
array('foo' => array('col1', 'col2', ...), 'bar' => array('col1', ...))
Итак, вам нужно сделать что-то подобное для столбцов:
$result = array();
foreach ($tableNames as $tableName) { // much more useful than for()
$result = mysql_query("SHOW COLUMNS FROM $tableName");
while ($row = mysql_fetch_assoc($result)) {
$result[$tableName][] = $row;
}
}
Удачи в экспериментировании с этим ...
var_dump
твой друг.