Php 将表列表显示为下拉框
我试图编写一个下拉框,显示数据库中的所有表名,但我似乎不明白为什么它不起作用。我得到了屏幕上的下拉框,但它似乎是空的,我的提交按钮也没有出现 我只是看不出哪里出了问题,以下是我所有的相关代码: index.phpPhp 将表列表显示为下拉框,php,Php,我试图编写一个下拉框,显示数据库中的所有表名,但我似乎不明白为什么它不起作用。我得到了屏幕上的下拉框,但它似乎是空的,我的提交按钮也没有出现 我只是看不出哪里出了问题,以下是我所有的相关代码: index.php include_once 'db.php'; <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST"> <select name="Tables" id="ddTab
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文件中似乎在localhost之后有一个端口号。它应该是“localhost”而不是“localhost:8888”
由于端口号的原因,出现了3个小时的问题。哦,希望这对其他人有帮助 修复了我的错误,我的db.php文件中似乎在localhost之后有一个端口号。它应该是“localhost”而不是“localhost:8888”
由于端口号的原因,出现了3个小时的问题。哦,希望这对其他人有帮助 一个$tables的var_转储怎么样?另外,尝试将else块向上移动一级,以便在查询成功但返回0行时触发。@aviemet似乎没有执行任何操作,var_dump没有返回任何内容,my else代码也没有返回任何内容。我试着在代码周围放一些回音,看看会发生什么,但由于某种原因,我的代码中似乎什么也没有发生。我不知道这是否有帮助。你展示了源代码吗?输出可能不会显示在HTML中,因为它位于select标记内。@LorenzMeyer-附加了答案,似乎我在思考这个问题,无论如何,谢谢!一个$tables的var_转储怎么样?另外,尝试将else块向上移动一级,以便在查询成功但返回0行时触发。@aviemet似乎没有执行任何操作,var_dump没有返回任何内容,my else代码也没有返回任何内容。我试着在代码周围放一些回音,看看会发生什么,但由于某种原因,我的代码中似乎什么也没有发生。我不知道这是否有帮助。你展示了源代码吗?输出可能不会显示在HTML中,因为它位于select标记内。@LorenzMeyer-附加了答案,似乎我在思考这个问题,无论如何,谢谢!
//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;
}