PDO를 사용하여 행 존재 확인
PDO를 사용하여 데이터베이스에서 행 존재를 확인하는 데 어려움을 겪었습니다. 이 문제를 해결하려면 다음 해결 방법을 고려하십시오.
답변에서 제안한 대로 쿼리의 반환 값을 직접 확인할 수 있습니다. 예는 다음과 같습니다.
$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) {
echo 'Row does not exist';
}
이 코드에서 $stmt->execute()는 쿼리 실행을 시도합니다. 행이 발견되지 않으면 $stmt->fetch()는 FALSE를 반환합니다. 이를 통해 if (!$row) 조건을 사용하여 행이 존재하는지 확인할 수 있습니다.
또한 여러 행을 확인하거나 행 가져오기를 피하려면 $stmt-> fetchAll() 메소드:
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
if (!$rows) {
echo 'No rows found';
}
또는 행이 발견되면 MySQL에 1을 반환하도록 지시할 수 있습니다.
$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