我有以下准备好的声明。所有这些都是好的......NULL WHERE子句
$stmt=$conn->prepare('UPDATE t1 SET c1=? WHERE c2=? AND c3!=?');
$stmt->execute(array(1,2,3));
但现在我想使用相同的一份声明中,但包括在WHERE子句中的NULL值。
$stmt->execute(array(1,NULL,NULL));
将此问题解决为UPDATE t1 SET c1=1 WHERE c2=NULL AND c3!=NULL
?是不是正确的查询UPDATE t1 SET c1=1 WHERE c2 IS NULL AND c3 IS NOT NULL
?我怎么能有一个准备好的语句,它允许WHERE子句中的NULL值和非NULL值?
[Execute PDO with a array containing null values](http://stackoverflow.com/questions/17723839/execute-pdo-with-an-array-containing-null-values) –
@RahilWazir引用的“可能的重复“用于插入NULL。 INSERT或SET不会导致问题,只有WHERE子句。 – user1032531
给个人谁downvoted。请给出原因。 – user1032531