sql >> Databasteknik >  >> RDS >> Mysql

Bindande inte null i SUB?

Du kan inte binda "NOT NULL". Du kan bara binda värden . "ÄR INTE NULL" är inte ett värde, det är en helt annan frågesyntax. Du måste helt enkelt bygga din fråga dynamiskt, värdebindning kan inte hjälpa dig med det:

$query = 'SELECT ... WHERE ';
if (/* condition is NOT NULL */) {
    $query .= 'foo IS NOT NULL';
    $stmt = $db->prepare($query);
} else {
    $query .= 'foo = :foo';
    $stmt = $db->prepare($query);
    $stmt->bindValue('foo', $foo);
}
$stmt->execute();


  1. Implementering av Levenshtein-distans för mysql/fuzzy-sökning?

  2. Öka hastigheten på MySQL LIKE-frågan?

  3. SQL JOIN vs IN prestanda?

  4. SQL är lika med (=) operatör för nybörjare