Mysql
 sql >> Base de données >  >> RDS >> Mysql

Liaison non nulle dans PDO ?

Vous ne pouvez pas lier "NOT NULL". Vous ne pouvez lier que des valeurs . "IS NOT NULL" n'est pas une valeur, c'est une syntaxe de requête complètement différente. Vous devrez simplement construire dynamiquement votre requête, la liaison de valeur ne peut pas vous aider :

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