php - 来自结果的新 SQL PDO 查询

标签 php mysql sql pdo

我对 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/

相关文章:

php - 基于php的网站设计

php - 如何使用PHP限制文件上传?

php - 如何分析带有时间戳的条目的事件/频率?

php - MySQL/PHP 按行值合并行

php - Zend Framework 2 phpcloud 数据库

sql - 何时为两种略有不同的信息使用单独的 SQL 数据库表?

MYSQL GUID 触发器

sql-server - T-SQL 中的 VLOOKUP 式范围查找

php - 未定义 sendToValue 的 jQuery ajax 调用错误,此 jquery 代码有什么问题?

php - 尽管在 header 中发送了 base64,但仍无法识别附件