即使一个值不存在,MySQLi也会搜索两个值

时间:2014-03-22 00:37:42

标签: select mysqli

如果类型和艺术家参数都存在,我只能成功搜索,但如果其中一个不存在,我希望能够成功。

param. present ->       genre      artist      both                            
working                                         x
not working               x          x

$query=mysqli_prepare($conn,'SELECT cover,id,price FROM songs WHERE genre=? && artist=? ORDER BY title DESC');
    mysqli_bind_param($query,'ss',$genre,$artist);
    mysqli_stmt_execute($query);
    mysqli_stmt_bind_result($query,$cover,$id,$price);

我尝试在任何地方检查,放置和播放“NULL”值和“OR”语句,但它没有用完。

请记住,我已大大简化了这一点,并且因为实际上存在更多类别,因此对每个组合使用数据库查询的“if / else”解决方案并不经济。

1 个答案:

答案 0 :(得分:0)

SELECT cover,id,price FROM songs WHERE (genre=?) OR (artist=?)

将涵盖

的情况
  1. 只有流派存在
  2. 只有艺术家在场
  3. 两人都在场