>  기사  >  백엔드 개발  >  SELECT 쿼리에 PDO를 사용하는 방법은 무엇입니까? (코드 예)

SELECT 쿼리에 PDO를 사용하는 방법은 무엇입니까? (코드 예)

藏色散人
藏色散人원래의
2019-03-15 14:31:514926검색

PDO를 사용하여 SELECT 쿼리를 실행하는 방법에는 여러 가지가 있습니다. 차이점은 주로 매개변수, 매개변수 유형 및 결과 유형이 있다는 것입니다. 가장 적합한 것을 선택할 수 있도록 각 사례에 대한 예를 보여 드리겠습니다.

SELECT 쿼리에 PDO를 사용하는 방법은 무엇입니까? (코드 예)

매개변수 없는 SELECT 쿼리

쿼리에 사용할 변수가 없으면 기존 query() 메서드 를 사용할 수 있습니다.

// 选择所有用户
$stmt = $pdo->query("SELECT * FROM users");

이렇게 하면 실제 행을 가져오는 데 사용할 수 있는 $stmt 개체가 제공됩니다.

행 가져오기

쿼리가 하나의 행만 반환하는 경우 $stmt 변수의 fetch() 메서드를 호출할 수 있습니다.

//获取最后一个注册用户
$stmt = $pdo->query("SELECT * FROM users ORDER BY id DESC LIMIT 1");
$user = $stmt->fetch();

PHP에서는 반환된 개체의 메서드를 호출할 수 있습니다. 예:

$user = $pdo->query("SELECT * FROM users ORDER BY id DESC LIMIT 1")->fetch();

여러 행 쿼리

쿼리에서 반환된 여러 행을 가져오는 방법에는 두 가지가 있습니다. 가장 전통적인 방법은 while 루프에서 fetch() 메서드를 사용하는 것입니다.

$stmt = $pdo->query("SELECT * FROM users");
while ($row = $stmt->fetch()) {
    echo $row[&#39;name&#39;]."<br />\n";
}

행을 하나씩 처리해야 하는 경우 이 방법을 권장할 수 있습니다. 예를 들어, 이러한 처리가 취해야 할 유일한 조치이거나 사용하기 전에 데이터를 어떤 방식으로 사전 처리해야 하는 경우입니다.

그러나 웹 페이지에 표시될 여러 행의 데이터를 가져오는 가장 좋은 방법은 fetchAll()이라는 메서드를 호출하는 것입니다. 쿼리에 의해 반환된 모든 행을 PHP 배열에 넣습니다. 이 배열은 나중에 템플릿을 사용하여 데이터를 출력하는 데 사용할 수 있습니다(가져오는 동안 데이터를 직접 에코하는 것보다 훨씬 나은 것으로 간주됩니다).

코드는 다음과 같습니다.

$data = $pdo->query("SELECT * FROM users")->fetchAll();
foreach ($data as $row) {
    echo $row[&#39;name&#39;]."<br />\n";
}

매개변수가 있는 SELECT 쿼리

그러나 대부분의 경우 쿼리에는 하나 또는 두 개의 변수를 사용해야 합니다. 이 경우에는 준비된 명령문을 사용해야 합니다(또한 매개변수화된 쿼리라고 함) 먼저 매개변수(또는 자리표시자 마커)를 사용하여 쿼리를 준비한 다음 이를 실행하여 각각의 변수를 보냅니다.

PDO에서는 위치 자리 표시자와 명명된 자리 표시자를 모두 사용할 수 있습니다. 간단한 쿼리의 경우 개인적으로 위치 자리 표시자를 선호하고 덜 장황하다고 생각하지만 이는 전적으로 개인 취향의 문제입니다.

위치 자리 표시자를 사용한 SELECT 쿼리

//通过id选择特定的用户
$stmt = $pdo->prepare("SELECT * FROM users WHERE id=?");
$stmt->execute([$id]); 
$user = $stmt->fetch();

이름이 지정된 자리 표시자를 사용한 SELECT 쿼리

// 通过id选择特定的用户
$stmt = $pdo->prepare("SELECT * FROM users WHERE id=:id");
$stmt->execute([&#39;id&#39; => $id]); 
$user = $stmt->fetch();

이 글은 SELECT 쿼리에 PDO를 사용하는 방법을 소개한 글입니다.

위 내용은 SELECT 쿼리에 PDO를 사용하는 방법은 무엇입니까? (코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.