簡體   English   中英

PHP和MySQL查詢-多個條件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM