我需要帮助为php函数提供可选参数,该函数将在mysql数据库中搜索匹配条件。
场景:前端=
将有6个名为authorName、authorCountry、authorState等的HTML输入表单字段
当用户填充此字段时,字段值将作为搜索数据库的mysql参数传递。这里的问题是,如果用户想知道在美国的作者列表,他将进入美国的国家字段和离开其他字段。但这将中断mysql查询,因为其他字段留空。
我试过做,但对我没用。

function getAuth(authName=NULL, authCoun=NULL, authSate=NULL) {
$query = mysql_query("SELECT * FROM authTable WHERE authName='authName'
AND authCoun='authCoun' AND authSate='authSate'");
return $query; }

请帮助我传递可选参数。
谢谢您。。

最佳答案

function getAuth($authName=NULL, $authCoun=NULL, $authSate=NULL) {
    $sql = "SELECT * FROM authTable WHERE 1 = 1";
    if ($authName) {
        $sql .= " AND authName='$authName'";
    }
     if ($authCoun) {
        $sql .= " AND authCoun='$authCoun'";
    }
     if ($authSate) {
        $sql .= " AND authSate='$authSate'";
    }
    return mysql_query($sql);
 }

并确保在传递给函数之前对这些变量进行了转义。

09-25 17:00