私はこれに苦労しており、select ステートメントがレコードを見つけた場合に 1 または true を返そうとしています。その安全性のために、PDO を使用して MSSQL Server と PHP を使用しています。fetchColumn() を使用するのが適切なステートメントではないことはわかっていますが、他のほとんどすべてを試したため、ここであきらめました。
これが私のコードです。
public function activate($email, $email_code) {
$query = $this->db->prepare("SELECT * FROM users WHERE (email = ? AND email_code = ? AND confirmed = ?)");
$query->bindValue(1, $email);
$query->bindValue(2, $email_code);
$query->bindValue(3, 0);
try{
$query->execute();
$rows = $query->fetchColumn();// HERE I AM NOT SURE WHAT TO USE ??? HELP!
if($rows == 1){
$query_2 = $this->db->prepare("UPDATE users SET confirmed =? WHERE email = ?");
$query_2->bindValue(1, 1);
$query_2->bindValue(2, $email);
$query_2->execute();
return true;
}else{
return false;
}
}
catch(PDOException $e){
die($e->getMessage());
}
}