Mysql
 sql >> Database >  >> RDS >> Mysql

Binding non nullo in PDO?

Non puoi associare "NON NULL". Puoi associare solo valori . "IS NOT NULL" non è un valore, è una sintassi della query completamente diversa. Dovrai semplicemente creare dinamicamente la tua query, l'associazione di valori non può aiutarti in questo:

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