我正在尝试编写一个显示数据库中所有表名的下拉框,但我似乎无法弄清楚为什么它不起作用。我在屏幕上显示下拉框,但它似乎是空的,我的提交按钮也没有显示。
我无法看到我出错的地方,这是我所有的相关代码:
的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;
}
非常感谢任何帮助!
答案 0 :(得分:1)
修正了我的错误,似乎我在localhost之后的db.php文件中有一个端口号。它应该只是“localhost”而不是“localhost:8888”。
由于端口号而导致3小时的问题。哦,希望这有助于其他人!