說明 在寫程式時候,有時候會有_可有可無的WHERE_被下載 SQL 語句中的時候 什麼是_可有可無的WHERE_? 好比方在搜尋的時候,我有輸入"搜索時間範圍",才會搜索時間;有輸入"搜索地區",才會搜索地區。 所以在程式裡面WHERE有沒有出現,是看使用者代入的參數的! Code 這在這例子中,有設定姓名,才會搜尋姓名;有設定時間範圍,才會搜尋時間範圍,如果都沒有設定的話,就不會有WHERE語句出現。 // 不是重點的部份直接註解掉了:) // $db = new db(); $where = array(); ... .. . // if (isset($data->name)) { array_push($where, "tableName.name='{$data->}'"); // } // if (isset($data->minSearchTime) AND isset($data->maxSearchTime)) { array_push($where, "tableName.datetime BETWEEN '{$data->minSearchTime}' AND '{$data->maxSearchTime}'"); // } $where_string = empty($where) ? '' : ' WHERE '.join(' AND ', $where); $sql = "SELECT * FROM tableName {$where_string}"; //$rst = $db->Query($sql); return $rst;