> 백엔드 개발 > PHP 튜토리얼 > PDO를 사용하여 데이터베이스에 행의 존재를 어떻게 확인할 수 있습니까?

PDO를 사용하여 데이터베이스에 행의 존재를 어떻게 확인할 수 있습니까?

Susan Sarandon
풀어 주다: 2024-10-22 10:32:02
원래의
1002명이 탐색했습니다.

How Can You Check the Existence of a Row in a Database Using PDO?

PDO를 사용하여 데이터베이스에서 행 존재를 확인하는 방법

데이터베이스에 특정 행이 없는 조건으로 작업을 수행하려고 할 때 데이터베이스의 경우 count($row) == 0 또는 if($stmt->rowCount() < 0)과 같은 기존 방법을 사용하는 데 어려움을 겪을 수 있습니다.

보다 효과적인 접근 방식은 데이터베이스를 직접 검사하는 것입니다. 쿼리의 반환 값입니다. 다음 코드 조각은 이 기술을 보여줍니다.

<code class="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( ! $row)
{
    echo 'nothing found';
}</p>
<p>이 메소드는 행이 데이터베이스에 있으면 true를 반환하고, 없으면 false를 반환합니다.</p>
<p>여러 행의 존재를 확인하는 경우 , fetchAll() 메서드를 사용할 수 있습니다.</p>
<pre class="brush:php;toolbar:false"><code class="php">$rows = $stmt->fetchAll(PDO::FETCH_ASSOC); // Same here
if( ! $rows)
{
    echo 'nothing found';
}</code>
로그인 후 복사

데이터 가져오기를 피하려는 상황에서는 다음 쿼리를 사용하여 부울 값을 반환하도록 MySQL을 구성할 수 있습니다.

<code class="php">$sql = 'SELECT 1 from table WHERE id = ? LIMIT 1';
$stmt = $conn->prepare($sql);
$stmt->execute([$_GET['id']]);

if($stmt->fetchColumn()) echo 'found';</code>
로그인 후 복사

이 메소드는 행이 데이터베이스에 있으면 0이 아닌 값을 반환하고 그렇지 않으면 false를 반환합니다.

위 내용은 PDO를 사용하여 데이터베이스에 행의 존재를 어떻게 확인할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿