我只想在設置流派和藝術家列時才搜索流派和藝術家列。所以如果其中一個設置爲'all',我會聲明它們爲'NULL',而不是搜索該列。這是我想出來的,但它不起作用。未設置值時PDO不搜索
if($genre=='all')
{
$genre=NULL;
}
if($artist=='all')
{
$artist=NULL;
}
$query=$conn->prepare('SELECT * FROM songs WHERE (genre=?) && (artist=?)');
$query->bindValue(1,$genre,PDO::PARAM_STR);
$query->bindValue(2,$artist,PDO::PARAM_STR);
$query->execute();
$array=$query->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($array);
'if($ genre ='all')'不會做你認爲它做的事情。它**將'$ genre'的值設置爲'all',而不是檢查它是否爲'all'。你需要使用'=='來代替:'if($ genre =='all')'。 –
也''genre = null'與'PDO :: PARAM_STR'不是sql'NULL' ... –
@Amal Murali我道歉,我做了一個misstype(我在某個問題上做了一個......)。該行確實是'if($ genre =='all')'。這部分的完整代碼實際上是對很多POST請求進行排序。 – aaaaaa4422