[英]PHP and MySQL query - multiple criteria
我下面的代碼有問題,我正在根據用戶可能在表單上選擇的搜索條件在數據庫上運行查詢。
目前,僅以作者的名字查詢數據庫就可以了。 但是,如果我取消注釋其余的if-else語句,則所有查詢都不起作用。 我只是得到一個空白表,沒有返回任何結果。
我已經分別嘗試了每個if / else語句,並將其他注釋掉,它們都可以單獨工作,但是當它們都未注釋時,則不能。
誰能指出我正確的方向?
$query = "SELECT * FROM books WHERE book_no IS NOT NULL";
if ($_POST['author'])
$query .= " AND '$author' = author";
/*
else if ($_POST['author'] AND $_POST['year'])
$query .= " AND '$author' = author AND '$year' = year";
*/
/*
else if ($_POST['cover_art']) {
$query .= " AND '$cover_art' = cover_art";
}
*/
/*
else if ($_POST['interior_art']) {
$query .= " AND '$cover_art' = cover_art";
}
else {
// do something else
}
*/
檢查此解決方案:
$author='Bred';
$year='2012';
$cover_art='';
$queryA=array();
if ($author<>'') $queryA []= "'$author' = author";
if ($year<>'') $queryA []= "'$year' = year";
if ($cover_art<>'') $queryA []= "'$cover_art' = cover_art";
$query = "SELECT * FROM books WHERE book_no IS NOT NULL";
if(count($queryA)>0) $query.=' AND '.implode(' AND ',$queryA);
echo $query;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.