1
各テーブルのすべてのフィールドを表示し、それらをマルチレベル配列に割り当てようとしていますが、 '非オブジェクト上のメンバ関数fetch_assoc()を呼び出します。' ...foreachループから列を表示する
$sql_tables = "SHOW TABLES;";
$result = $mysql->query($sql_tables);
if ($result->num_rows > 0) {
while($row_tables = $result->fetch_assoc()) {
$alltables_array[] = $row_tables["Tables_in_dbname"];
}
}
foreach ($alltables_array as $table) {
$sql_fields = "SHOW COLUMNS FROM " . $table . ";";
$result_fields= $mysql->query($sql_fields);
while($row_fields = $result_fields->fetch_assoc()) { /* ERROR ON THIS LINE */
$allfields_array[$table ][] = $row_fields['Field'];
}
}
ありがとう! $row_tables
以来
追記:バンドエイドの解決策になることができます ';クエリ文あなたの答えのための – Ghost
おかげで不要で'セミコロン。申し訳ありませんが、あまり正確ではないかもしれませんが、while($ row_fields = $ result_fields ... line'でエラーが表示されます。質問を編集します。データベース関数... – codeispoetry
@codeispoetryはい私は、コードのバグをテストした、エラーが連鎖している、起点がテーブルのフェッチが間違っている、正しいテーブルをフェッチ、列が正しく正しくフェッチされます – Ghost