我必须根据用户输入接收到的值创建一个动态查询,变量的值由 GET 发布当我简单地运行它时
$qry = "SELECT* FROM LAPTOP WHERE 1=1";
$resul = mysqli_query($qry);
retrieve($resul);
该表的所有内容都显示没有任何错误,(此处的检索功能根据查询显示所有结果)但是当我尝试像这样修改它时,我得到一个空白页
$qry = "SELECT * FROM LAPTOP WHERE 1=1";
if(!empty($company))
{
$qry .= " AND company='$company'" ;
}
if(!empty($cpu))
{
$qry.= " AND cpu='$cpu' " ;
}
if(!empty($lifestyle))
{
$qry.= " AND lifestyle='$lifestyle' " ;
}
if(!empty($display))
{
$qry.= " AND display='$display'" ;
}
if(!empty($ram))
{
$qry.= " AND ram='$ram' " ;
}
if(!empty($HDD))
{
$qry.= " AND HDD='$HDD' " ;
}
echo $qry;
$result= mysqli_query($qry) || die(mysqli_error()) ;
retrieve($result) ;
$p = basename($_SERVER['REQUEST_URI']) ;
的结果echo $qry;
如预期的那样,它显示了这个
SELECT * FROM LAPTOP WHERE 1=1 AND company='Asus' AND cpu='intel i3'
有没有办法纠正这个问题?我尝试使用 WHERE 1=1 子句的原因是,当所有变量都等于 NULL 时,查询会返回表中的所有行。