gpt4 book ai didi

Php 选择 * 喜欢的地方

转载 作者:可可西里 更新时间:2023-10-31 23:06:47 25 4
gpt4 key购买 nike

您好,我正在尝试对网站进行搜索。它有 2 个用于接收信息的输入,一个是下拉列表。

<div id="search">
<form action="projectsearchall.php" method="post" enctype="multipart/form-data">
<h3>Search for an Item</h3>

<p>Keywords</p><p><input name="keywords" type="text" value="keywords"></p>


<p>Select A Location</p><p>

<select name="location" id="jumpMenu">
<option>Any Location</option>
<option>Antrim</option>
<option>Armagh</option>
<option>Carlow</option>
<option>Cavan</option>


</select>
</p>
<p>

</form>
</div>

我似乎无法弄清楚如何组合这 2 个输入来给出结果,我可以单独进行,但不能一起进行以获得更准确的结果。

PHP

$keywords = $_POST['keywords'];
$keylocation =$_POST['location'];
$username = $_SESSION['username'];

//MySQL Database Connect
include 'connect.php';
//make sql query

$result = mysqli_query($con,"SELECT * FROM projectitem where description like '%$keywords%' or item like '%$keywords%' or location like '%$keywords%'");

提前致谢!

最佳答案

我认为您可以在运行查询之前进行一些预处理。

首先,您需要为选择的选项提供某种值以供检查。

我不知道您的确切数据库结构,但假设您正在使用选定的文本,您可能想试试这个:

$query = "SELECT * FROM projectitem WHERE (description LIKE '%$keywords%' OR item LIKE '%$keywords%')";

这是您的基本查询,现在运行它会检查关键字,但不会检查位置。

if($keylocation != "Any location") $query .= " AND location = '$keylocation'";

最后一行会将位置作为附加过滤器添加到您的查询中。运行它,看看它做了什么。 (虽然我不确定那里的字符串比较)

是的,作为最后的建议:确保通过转义函数 mysqli_escape_string 运行您的输入。否则,您将面临 SQL 注入(inject)。

关于Php 选择 * 喜欢的地方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16423905/

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