我通过 GET 方法传递变量在 php 中创建搜索查询。当变量为空时,它会传递查询,例如,
SELECT * FROM table WHERE column_name = null
.
它显示错误(很明显)。我想创建类似的查询。如果用户没有从搜索选项中选择任何内容,那么它应该从该列中获取所有数据。
正确的逻辑是什么?谢谢。
代码:
if(isset($_GET['selPetType']) && $_GET['selPetType'] != '')
{
$searchParams['petType'] = $_GET['selPetType'];
$queryStr .= " PetType='" .$_GET['selPetType']. "'";
}
if(isset($_GET['txtPetBreed1']) && !empty($_GET['txtPetBreed1']))
{
$searchParams['breed'] = $_GET['txtPetBreed1'];
$queryStr .= " AND PetBreed1 ='". $_GET['txtPetBreed1'] . "'";
}
$clause1 = "SELECT * FROM pet WHERE $queryStr ORDER BY `Avatar` ASC LIMIT $startLimit, $pageLimit";
$totalRun1 = $allQuery->run($clause1);