显示表格列表作为下拉框

时间:2013-11-29 10:17:48

标签: php

我正在尝试编写一个显示数据库中所有表名的下拉框,但我似乎无法弄清楚为什么它不起作用。我在屏幕上显示下拉框,但它似乎是空的,我的提交按钮也没有显示。

我无法看到我出错的地方,这是我所有的相关代码:

的index.php

include_once 'db.php';
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
        <select name="Tables" id="ddTables">
            <?php
                $tableResults = getTableList();
                if($tableResults)
                {
                    if($tableResults->rowCount() > 0)
                    {
                        $tables = $tableResults->fetchAll(PDO::FETCH_NUM);
                        foreach($tables as $table)
                        {
                            $name = $table[0];
                            echo '<option value="'.$name.'">'.$name.'</option>';
                        }
                    }
                }
                else
                {
                    echo '<option value="0">No Data</option>';
                }
            ?>
        </select>
        <input type="submit" id="tableSubmit" value="Submit"/>
    </form>

db.php中

getConnection函数:

//main database connection varaibles
$DCONFIG_server = "localhost:8888";
$DCONFIG_DBUser = "root";
$DCONFIG_DBPass = "password";
$DCONFIG_DBName = "ISAD235";

try
{
    $conn = new PDO("mysql:host=$DCONFIG_server;dbname=$DCONFIG_DBName",
            $DCONFIG_DBUser, $DCONFIG_DBPass);
}
catch (PDOException $ex)
{
    echo $ex->getMessage();
}

return $conn;

function getConnection()
{
    //main database connection varaibles
    $DCONFIG_server = "localhost:8888";
    $DCONFIG_DBUser = "root";
    $DCONFIG_DBPass = "password";
    $DCONFIG_DBName = "ISAD235";

    try
    {
        $conn = new PDO("mysql:host=$DCONFIG_server;dbname=$DCONFIG_DBName",
                $DCONFIG_DBUser, $DCONFIG_DBPass);
    }
    catch (PDOException $ex)
    {
        echo $ex->getMessage();
    }

    return $conn;
}

function runSQL($sql)
{
    $mysqlConnection = getConnection();
    $ResultSet = $mysqlConnection->query($sql);

    return $ResultSet;
}

function getTableList()
{
    $sql = "SHOW TABLES";
    $ResultSet = runSQL($sql);

    if(!$ResultSet)
    {
        echo "Table list not found";
    }

    return $ResultSet;
}

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

修正了我的错误,似乎我在localhost之后的db.php文件中有一个端口号。它应该只是“localhost”而不是“localhost:8888”。

由于端口号而导致3小时的问题。哦,希望这有助于其他人!