php - SHOW TABLES 只显示以空格开头的表 mysql

标签 php mysql sql

我有一些代码需要获取数据库中所有表的列表,其中特定列等于特定事物。但是,使用 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/

相关文章:

mysql - SQL WHERE 语句多列 LIKE 一个值

php - 根据帖子大小“拉伸(stretch)”图像

php - Laravel - 如何更改 orWhere 方法中的表?

c# - 如何到达这一阶段 :

php - 为什么 heder ('Location:index' )不工作但 window.location.href ='index.php' 工作?

mysql - 为什么 MySQL (MariaDB) 使用以下查询计算记录数超过 3 分钟?

mysql - MAX 或 ALL in sql

mysql - 为每个团队选择前 x 条记录

sql - MySQL 查找没有帖子的作者(一对多关系)

SQL Server 2005的: Converting varchar value '1.23E-4' to decimal fails