特定の列が特定のものに等しいデータベース内のすべてのテーブルのリストを取得する必要があるコードがあります。ただし、SHOW TABLES
MySQLコードを使用すると、スペースで始まるテーブルのみが一覧表示されます。これが私のコードです...
$result = mysql_query("SHOW FULL TABLES IN `db`") or die("Error: " . mysql_error());
while ($word = mysql_fetch_array($result)) {
$word = $word[0];
$sql = "SELECT * FROM `db`.`$word` WHERE col='$val'";
$result = mysql_query($sql, $con) or die("Error: " . mysql_error());
while ($col = mysql_fetch_array($result)) echo "<li><a nav='$word' title='View $word'>$word</a></li>";
}
何らかの理由で、最初のmysql_query()
結果は1つの結果のみを返します。これは、スペースで始まるテーブルです。(全体でスペースで始まる唯一のテーブルです)編集:$wordを配列から文字列に変換するコード行を省略したことに気づきました...それは今そこにあります。