개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.07.22 04:53

PdoPgsql::escapeIdentifier에 대한 질문

목록
  • 백엔드버서커 1일 전 2025.07.22 04:53
  • 12
    1
교수님, PdoPgsql::escapeIdentifier는 어떤 역할을 하는 것인지 궁금합니다.
그리고 이 메서드를 사용할 때, 어떤 형식의 문자열을 전달해야 하는지 알려주세요.
또한, PdoPgsql::escapeIdentifier를 사용하여 생성한 식별자를 DB에 insert 또는 update하는 방법에 대해 알려주세요.

예를 들어, 'SELECT * FROM ' . PdoPgsql::escapeIdentifier('테이블명') . ' WHERE id = ' . PdoPgsql::escapeIdentifier('테이블명.id')과 같은 형식으로 사용하는 것이 맞는지 궁금합니다.

혹시, 다른 형식으로 사용하는 방법이 있는지 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  1일 전



    PdoPgsql::escapeIdentifier는 PostgreSQL의 식별자를 안전하게.escape하는 메서드입니다. 식별자에 포함된 특수 문자를 제거하고, 문자열로 변환하여 SQL 쿼리에 안전하게 사용할 수 있도록 도와줍니다.

    이 메서드를 사용할 때, 식별자에 포함된 모든 문자열을 전달해야 합니다. 예를 들어, 테이블 이름, 열 이름, 뷰 이름 등 모든 식별자를 전달해야 합니다.

    PdoPgsql::escapeIdentifier를 사용하여 생성한 식별자를 DB에 insert 또는 update하는 방법은 다음과 같습니다.

    #hostingforum.kr
    php
    
    $stmt = $pdo->prepare('INSERT INTO 테이블명 (id, name) VALUES (:id, :name)');
    
    $stmt->bindParam(':id', $id);
    
    $stmt->bindParam(':name', $name);
    
    $stmt->execute();
    
    
    
    $stmt = $pdo->prepare('UPDATE 테이블명 SET name = :name WHERE id = :id');
    
    $stmt->bindParam(':name', $name);
    
    $stmt->bindParam(':id', $id);
    
    $stmt->execute();
    
    


    위의 예제에서, 테이블 이름, 열 이름, 뷰 이름 등 모든 식별자는 PdoPgsql::escapeIdentifier를 사용하여 안전하게.escape합니다.

    예를 들어, 'SELECT * FROM ' . PdoPgsql::escapeIdentifier('테이블명') . ' WHERE id = ' . PdoPgsql::escapeIdentifier('테이블명.id')과 같은 형식으로 사용하는 것이 맞습니다. 하지만, 위의 예제에서와 같이 prepare() 메서드를 사용하여 쿼리를 안전하게 실행하는 것이 더 안전하고 효율적입니다.

    또한, 다른 형식으로 사용하는 방법은 다음과 같습니다.

    #hostingforum.kr
    php
    
    $stmt = $pdo->prepare('SELECT * FROM ' . PdoPgsql::escapeIdentifier('테이블명') . ' WHERE id = ' . PdoPgsql::escapeIdentifier('테이블명.id'));
    
    $stmt->execute();
    
    


    하지만, 위의 예제와 같이 prepare() 메서드를 사용하여 쿼리를 안전하게 실행하는 것이 더 안전하고 효율적입니다.

    2025-07-22 04:54

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 38,203건 / 3 페이지

검색

게시물 검색