如何在查询运行之前删除查询中的字符


how to remove the character in a query before query runs

这是我的查询

    $sql = "SELECT * FROM contact where isdeleted = 0  ";

          if ($language !="" && $language !="Empty" ){

                    $language_exp = explode(',', $language);
         $sql .= " INNER JOIN contactlanguage ON contact.id = contactlanguage.contactid
    INNER JOIN language ON contactlanguage.languageid = language.id where isdeleted = 0 AND language.language in ('".implode("', '", $language_exp)."') "; 
                }
 if ($contactgroup !="" && $contactgroup !="Empty" ){

    $contactgroup_exp = explode(',', $contactgroup);
    $sql .= " AND contactgroup in ('".implode("', '", $contactgroup_exp)."')";
    }

如果我像这样运行查询结果的函数

SELECT * FROM contact where isdeleted = 0 INNER JOIN contactlanguage ON contact.id = contactlanguage.contactid INNER JOIN language ON contactlanguage.languageid = language.id where isdeleted = 0 AND language.language in ('English', 'Arabic', '')

这里isdeleted = 0是两次,谁能告诉我如何在内部条件之前删除isdeleted = 0,也在查询运行之前,谢谢

简单的解决方法是:

$sql = "SELECT * FROM contact";
if ($language !="" && $language !="Empty" ){
    //...
    $sql .= " INNER JOIN .....";
}
else {
    $sql .= " where isdeleted = 0";
}
// run query...
$query = mysql_query($sql);