使用 PDO 检查行是否存在
使用数据库时,通常需要根据行是否存在来执行不同的操作。本文探讨了如何使用 PHP 中流行的 PDO 库高效地检查行是否存在。
PDO 和 Row Existence
PDO 提供了灵活高效的接口用于与各种数据库交互。它的强大功能之一是prepare()方法,它允许您创建和执行准备好的语句。
使用rowCount()和fetch()进行检查
您的使用 count($row) == 0 和 $stmt->rowCount()
解决方案:直接返回值检查
要检查行是否存在,您只需检查执行()的返回值。如果语句执行成功并且没有返回任何行,execute() 将返回 false。然后您可以执行必要的操作:
$stmt = $conn->prepare('SELECT * FROM table WHERE ID=?');
$stmt->bindParam(1, $_GET['id'], PDO::PARAM_INT);
$stmt->execute();
if( ! $stmt->execute() ) {
echo 'Row not found';
}
不获取而检查
如果你想在不实际获取行数据的情况下检查行是否存在,你可以使用 MySQL 的功能来以 a 的形式返回一个值数数。这允许您在execute()中绑定变量并检查其值:
$sql = 'SELECT 1 FROM table WHERE ID = ? LIMIT 1';
$stmt = $conn->prepare($sql);
$stmt->execute([$_GET['id']]);
if($stmt->fetchColumn()) {
echo 'Row found';
}
这种方法更有效,因为它避免了不必要的行数据获取。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3