sql >> Base de Datos >  >> RDS >> Mysql

¿Enlace no nulo en PDO?

No puede enlazar "NOT NULL". Solo puede enlazar valores . "IS NOT NULL" no es un valor, es una sintaxis de consulta completamente diferente. Simplemente tendrá que crear dinámicamente su consulta, el enlace de valor no puede ayudarlo con eso:

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