gpt4 book ai didi

php - 高级搜索 PHP

转载 作者:行者123 更新时间:2023-11-29 21:34:50 25 4
gpt4 key购买 nike

我有一个包含 4 个字段的高级搜索,只有一个 name_first 是必填的

搜索有很多变体,因为其他字段不是强制性的,所以我需要一个仅选择已填充字段的 select 语句,但有很多变体

我尝试了下面的脚本,但它没有显示正确的信息(我认为它完全错误?!)

$name_first=$_GET["name_first"];
$status=$_GET["status"];
$type=$_GET["type"];
$manstaff=$_GET["manstaff"];

$result401=mysql_query("SELECT * FROM `hr_employees` WHERE
(name_first LIKE '$name_first%')
AND
(status LIKE '$status%')
AND
(manages_staff LIKE '$manstaff%');")or die('Error' . mysql_error());

你知道上面的脚本应该是什么吗?基本上如果该字段未完成,则不需要搜索它?

最佳答案

首先仅使用所需条件定义 SQL

$sql = "SELECT * FROM `hr_employees` WHERE (name_first LIKE '$name_first%')";

然后添加可选条件...可选

if ($status) {
$sql .= " AND (status LIKE '$status%') ";
}

if ($manstaff) {
$sql .= " AND (manages_staff LIKE '$manstaff%')";
}
$result401=mysql_query($sql) or die ('Error' . mysql_error());

顺便说一句,请考虑更新您的代码以避免使用已弃用的 mysql 函数,并记住,像这样将变量连接到 SQL 中会使您的代码容易受到 SQL 注入(inject)的攻击。<​​/p>

关于php - 高级搜索 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35002455/

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