Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Binding nicht null in PDO?

Sie können "NOT NULL" nicht binden. Sie können nur Werte binden . „IST NICHT NULL“ ist kein Wert, sondern eine völlig andere Abfragesyntax. Sie müssen Ihre Abfrage einfach dynamisch erstellen, die Wertbindung kann Ihnen dabei nicht helfen:

$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();