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