PDO를 사용하여 효율적으로 행 존재를 확인하는 방법

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

How to Check Row Existence Efficiently with PDO

PDO로 행 존재 확인

데이터베이스 작업 시 행 존재 여부에 따라 다른 작업을 수행해야 하는 경우가 종종 있습니다. 이 기사에서는 PHP에서 널리 사용되는 PDO 라이브러리를 사용하여 행의 존재를 효율적으로 확인하는 방법을 살펴봅니다.

PDO 및 행 존재

PDO는 유연하고 효율적인 인터페이스를 제공합니다. 다양한 데이터베이스와 상호 작용합니다. 강력한 기능 중 하나는 준비된 명령문을 생성하고 실행할 수 있는 prepare() 메소드입니다.

rowCount() 및 fetch()로 확인

귀하의 count($row) == 0 및 $stmt->rowCount() < 0은 rowCount()가 SELECT 문이 아닌 UPDATE, DELETE 또는 INSERT 문에서 영향을 받은 행 수를 반환하기 때문에 작동하지 않습니다. fetch()도 행 존재에 대한 신뢰할 수 있는 표시를 제공하지 않습니다.

해결책: 직접 반환 값 확인

행 존재를 확인하려면 간단히 Execute()의 반환값입니다. 명령문이 성공적으로 실행되고 행을 반환하지 않은 경우,execute()는 false를 반환합니다. 그런 다음 필요한 작업을 수행할 수 있습니다.

<code class="php">$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';
}</p>
<p><strong>가져오지 않고 확인</strong></p>
<p>행 데이터를 실제로 가져오지 않고 행 존재를 확인하려면 MySQL의 개수 형식으로 값을 반환하는 기능. 이를 통해 Execution() 내에서 변수를 바인딩하고 해당 값을 확인할 수 있습니다.</p>
<pre class="brush:php;toolbar:false"><code class="php">$sql = 'SELECT 1 FROM table WHERE ID = ? LIMIT 1';
$stmt = $conn->prepare($sql);
$stmt->execute([$_GET['id']]);

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

이 접근 방식은 불필요한 행 데이터 가져오기를 방지하므로 더 효율적입니다.

위 내용은 PDO를 사용하여 효율적으로 행 존재를 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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