gpt4 book ai didi

javascript - 使用 PHP 和 javascript 查询 MySQL 下拉菜单

转载 作者:太空宇宙 更新时间:2023-11-03 10:34:28 25 4
gpt4 key购买 nike

我已经看了几天了,但还没有找到解决我的问题的办法。我正在编写一些 PHP 来查询我在 WAMP 服务器上设置的 MySQL 数据库。我也在学习 PHP 和 HTML javascript,所以这两种语言的语法对我来说还是有点陌生​​。

我的目标是用 Java 编写一个下拉选择器框,允许用户选择一个过滤器以应用于选择查询,如下所示:

SELECT * from exampletable WHERE header = "selected_option" 

其中“exampletable”是 SQL 数据库中存在的表,“header”是该表中的一列,“selected option”是用户从下拉列表中选择的。

我已经尝试使用 $_POST 超全局调用包含 SQL 查询的 PHP 文件的操作编写各种 HTML 表单,但似乎没有任何效果。任何解决方案的建议和示例都会很棒。

谢谢!

index.php(index.php是带用户界面的前端)

<!DOCTYPE HTML>
<html>
<form action="search.php" method="post">
<select name="family">
<option value="" selected="selected">Any family</option>
<option value="capacitory">capacitor</option>
<option value="resistor">resistor</option>
<option value="ferrite bead">ferrite bead</option>
</select>
<input name="search" type="submit" value="Search>
</form>
</html>

search.php(search.php 接收选择的选项值并将其传递给 MySQL 查询)

<!DOCTYPE HTML>
<html>
<head>
<style>
table {
width: 100%;
border-collapse: collapse;
}

table, td, th {
border: 1px solid black;
padding: 5px;
}

th {text-align: left;}
</style>
</head>

<body>
<?php

$con = mysqli_connect('localhost','root','kelly188','mysql');
mysqli_select_db($con,"testv2");

$varfam = $_POST['family'];

$query = "SELECT * FROM testv2 WHERE (family = $varfam)";

$result = mysqli_query($query);

if($result)
{
while ($row=mysql_fetch_array($result)){
echo "<tr>";
echo "<td>".$row['family']."</td>";
}
} else {
die(mysqli_error());
}
?>
</body>
</html>

enter image description here

最佳答案

您应该使用准备好的语句来防止 SQL 注入(inject)。 mysql_fetch_array 函数已从最新版本的 PHP 中删除。更像下面的东西会更理想。

if ($stmt = $con->prepare("SELECT * FROM testv2 WHERE (family = ?)")) {

$stmt->bind_param("s", $_POST['family']);
$stmt->execute();

$result = $stmt->get_result();

while ($row = $result->fetch_assoc()) {

echo "<tr>";
echo "<td>".htmlentities($row['family'])."</td>";
echo "</tr>";

}

$stmt->close();
}

请参阅 PHP 文档:http://php.net/manual/en/mysqli.prepare.php

关于javascript - 使用 PHP 和 javascript 查询 MySQL 下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51067432/

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