我有一些代码需要获取数据库中所有表的列表,其中特定列等于特定事物。但是,使用 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()
只返回一个结果,恰好是一个以空格开头的表。 (这是整个表格中唯一以空格开头的表格)
编辑:我刚刚意识到我遗漏了将 $word 从数组转换为字符串的代码行……它现在就在那里。
最佳答案
您在循环中覆盖了 $result(您的表格列表)。
第一次迭代后,$result 将包含第一个表中的字段列表。
关于php - SHOW TABLES 只显示以空格开头的表 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13217679/