3

我有一些代码需要获取数据库中所有表的列表,其中某个列等于某个事物。但是,使用SHOW TABLESMySQL 代码只是列出以空格开头的表。这是我的代码...

$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 从数组转换为字符串的代码行......它现在就在那里。

4

1 回答 1

2

您在循环中覆盖了 $result (您的表格列表)。

第一次迭代后,$result 将包含第一个表中的字段列表。

于 2012-11-04T10:22:12.757 回答