PDO / PHP-检查行是否存在
我想要一个条件,以防该行根本不存在。
$stmt = $conn->prepare('SELECT * FROM table WHERE ID=?');$stmt->bindParam(1, $_GET['id'], PDO::PARAM_INT);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
尝试过if (count($row) == 0)
,if($stmt->rowCount() < 0)
但没有一个起作用。
回答:
您可以直接检查返回值。
$stmt = $conn->prepare('SELECT * FROM table WHERE ID=?');$stmt->bindParam(1, $_GET['id'], PDO::PARAM_INT);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
if( ! $row)
{
die('nothing found');
}
/*
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC); // Same here
if( ! $rows)
{
die('nothing found');
}
*/
如果您询问是否进行检查 而不进行获取, 则只需让MySQL返回a 1
(或使用COUNT()
命令)。
$sql = 'SELECT 1 from table WHERE id = ? LIMIT 1';//$sql = 'SELECT COUNT(*) from table WHERE param = ?'; // for checking >1 records
$stmt = $conn->prepare($sql);
$stmt->bindParam(1, $_GET['id'], PDO::PARAM_INT);
$stmt->execute();
if($stmt->fetchColumn()) die('found');
以上是 PDO / PHP-检查行是否存在 的全部内容, 来源链接: utcz.com/qa/403961.html