gpt4 book ai didi

php - 如何在php中使用下拉列表显示不同的mysql表

转载 作者:行者123 更新时间:2023-11-29 01:36:13 25 4
gpt4 key购买 nike

我在 mysql 数据库中有不同的表,如表 1 到表 5。当我从下拉表列表中选择它时,我想要一个代码来显示每个表。当我尝试执行以下命令时,我没有得到任何响应,也没有从 sql 加载数据。

<div> 
<form action="table1.php" method="GET">
<input list="name" name="name">
<datalist id="name">
<option value="table 1">
<option value="table 2">
<option value="table 3">
<option value="table 4">
<option value="table 5">
</datalist>
<input type="submit" name="search" value="search">
</form>
</div>

<div>
<table width="600" border="0" cellpadding="1" cellspacing="1">
<tr>
<th>Column 1</th>
<th>Column 2</th>
<th>Column 3</th>
<th>Column 4</th>
</tr>
</table>

在 php 代码中,我为选择值分配了一个变量,并在程序中给出。但我得到一个错误,变量未定义或未在 $conn 语句中使用。

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "sheet";
$tbname= $_GET['name'];

if (isset($_GET['search'])) {
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT * FROM '$tbname'");
$stmt->execute();

$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);

echo "<tr>";
echo "<th>".$result['Column 1']."</th>";
echo "<th>".$result['Column 2']."</th>";
echo "<th>".$result['Column 3']."</th>";
echo "<th>".$result['Column 4']."</th>";
echo "</tr>";
}
catch(PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;
echo "</table>";
}

最佳答案

您将表名放在单引号中是不正确的,您需要改用反引号。

您的 PHP 代码中的以下行是错误的

$stmt = $conn->prepare("SELECT * FROM '$tbname'");

应该改成这样

$stmt = $conn->prepare("SELECT * FROM `$tbname`");

关于php - 如何在php中使用下拉列表显示不同的mysql表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43198929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com