我对 PDO SQL 查询非常陌生。我有以下代码,效果很好。当结果仅返回 1 行时,我想将该行设置为 valid = FALSE"
。我该怎么做?
$sql = "SELECT * FROM `passcodes` WHERE `passcode` = '$passcode' AND `valid` = TRUE";
$stmt = $DBcon->prepare($sql);
$stmt->execute();
$count = $stmt->rowCount();
if($count == 1) {
//do this
} else {
//do that
}
最佳答案
另一种解决方案。
如果您对上面提到的“else”部分感兴趣,您可以将 @YourCommonSense 的优雅解决方案与检查 UPDATE 中更改了多少行结合起来。 MySQL 返回这样的信息!
$sql = "UPDATE `passcodes` SET `valid` = FALSE WHERE `passcode` = ? AND `valid` = TRUE";
$DBcon->prepare($sql)->execute([$passcode]);
if ($stmt->rowCount() == 0) {
// do this when nothing found
}
关于php - 来自结果的新 SQL PDO 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41096029/