Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

A ligação não é nula no PDO?


Você não pode vincular "NOT NULL". Você só pode vincular valores . "IS NOT NULL" não é um valor, é uma sintaxe de consulta completamente diferente. Você simplesmente terá que construir sua consulta dinamicamente, a vinculação de valor não pode ajudá-lo com isso:
$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();