0
您好有一個函數,通過下面傳遞的字符串;SQLITE從傳遞的值構建查詢字符串
getFilterResults($id, $limit, $misc);
在我的函數中,我連接到SQLite數據庫並基於傳遞的值構建一個查詢,就像這樣;
function getFilterResults($id, $limit, $misc) {
$dbConnect = new SQLite3(database);
if(!empty($limit) && !empty($id) && !empty($misc)){
$buildString = ('SELECT * FROM fields ORDER BY id DESC');
}else{
//no params filters arrived so dont filter - aka get all results
$buildString = ("SELECT * FROM fields ORDER BY id DESC");
}
$query = $dbConnect->query($buildString);
//...
}
問題是,我該如何構建查詢,如果某些值是空的,我必須決定哪些值使用「WHERE」 query..obviously第一個返回值不爲null的開始/啓動'WHERE'。
我可以看到很長的路要循環遍歷每一個並構建 - 一旦發現第一個值是非空並從那裏啓動,但這似乎不切實際且不好實踐。
//check if limit set..
if($limit) {
$doLimit = 'LIMIT '.$limit.'';
}
WHERE 'id = '.id.' AND misc = '.$misc.' '.$doLimit.'
申請'!空( )'檢查每個變量並將其添加到相應的查詢中。 –