我正在尝试创建一个基本的搜索功能。当我提交时,我有一个id为“npa”的文本字段我希望将npa字段中的值插入到$ searchroute mysql查询中。
我对php非常陌生,所以这让我有点难过。
if ($_POST["submit"]) {
$searchroute = "SELECT * FROM destination_route as d WHERE d.destPrefix='npa'";
$results = mysql_query($searchroute);
$row = mysql_fetch_array($results);
print_r($row);
}
?>
<html>
<form name="query" id="showdid" action="" method="post" enctype="multipart/form-data" >
<input type="text" name="npa" id="npa" value="">
<input type="submit" name="submit" id="submit" value="Submit">
</form>
</html>
答案 0 :(得分:1)
由于您已经在使用mysql_*
函数,因此下面的示例代码也会使用它们。但是,您应该放弃这些功能,而是使用PDO。除此之外:
<?php
if (!empty($_POST['submit'])) {
if (!empty($_POST['npa'])) {
$searchroute = "SELECT *
FROM destination_route as d
WHERE d.destPrefix='".mysql_real_escape_string($_POST['npa'])."'";
$results = mysql_query($searchroute);
$row = mysql_fetch_array($results);
print_r($row);
}
}
?>
<html>
<form name="query" id="showdid" action="" method="post">
<input type="text" name="npa" id="npa" value="">
<input type="submit" name="submit" id="submit" value="Submit">
</form>
</html>
我所做的只是添加一些空的调用(以避免在未创建变量的情况下发出通知),将数据转发到数据库时转义(非常重要,PDO也使这更容易)并删除enctype="multipart/form-data"
,因为您的功能不需要(没有上传文件)。
我将我的修改保持在最低限度,以便更好地展示需要发生的基础知识。您还可以做更多的事情,例如执行额外的清理/验证输入,例如trim
输入等......