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 중국어 웹사이트의 기타 관련 기사를 참조하세요!