例如,我们对else (q1 == "60+")
score = 10;
进行if
查询:
mysqli
并希望根据select
向上述查询添加一些额外的$sql = "SELECT * FROM table WHERE cat = 1";
,我尝试过这样的事情:(这只是示例,而不是我的原始代码) < / p>
query
不是这一个,我几乎还有10个query string
想要追加到当前$keyw = $_GET["k"];
if($keyw){
$cleanKeyw = mysqli_real_escape_string($connection, $keyw);
$addQ= "AND name LIKE '%$cleanKeyw%' OR text LIKE '%$cleanKeyw%'";
} else {
$addQ= "";
}
$sql = "SELECT * FROM table WHERE cat = 1 $addQ";
我想添加statment
如果设置了query
查询字符串,它可以正常工作,但我想确定,这样做是否安全或正确?因为它是基于我的逻辑而我是query
的新手,并且不知道有技术方法可以做到这一点吗?
另外我想知道有没有办法通过k
?
答案 0 :(得分:1)
不幸的是,大多数答案都过于宽泛。没有正确或错误的方式,你已经逃脱了你的意见(这很棒)。
您可以考虑将您的轮胎构建为数组,然后将它们拼接在一起。
(A, B)
然后,您可以随时添加更多$wheres = [];
$wheres[] = 'cat = 1';
if ($keyw) {
// escape etc
$wheres[] = 'name LIKE '%$cleanKeyw%' OR text LIKE '%$cleanKeyw%''
}
$wheres = implode(" AND ", $wheres);
$sql = "SELECT * FROM table WHERE $wheres";
。