0

次のようなSQLクエリがあります。

$stmt = $dbh->prepare("SELECT userID FROM User WHERE areaCode=? AND contactNo=?");
$stmt->bindValue(1, $areaCode ? $areaCode : null, PDO::PARAM_INT);
$stmt->bindValue(2, $contactNo, PDO::PARAM_INT);
$stmt->execute();

$areaCode が の場合、代わりに でテストする必要があるnullため、このクエリは失敗します。そのようなクエリをパラメータ化することはまだ可能ですか?areaCode=nullareaCode IS NULL

4

1 に答える 1

3

<=>演算子を使用してそれを行う (つまり、パラメータ化する) ことができます。

$stmt = $dbh->prepare("SELECT userID FROM User WHERE areaCode <=> ? AND contactNo=?");
于 2013-09-12T14:20:38.000 に答える