columnCount () 메소드는 결과 세트에서 열 수를 얻는 데 사용됩니다. 쿼리 결과가 포함 된 열 수를 나타내는 정수를 반환합니다.
$pdo = new PDO('mysql:host=gitbox.net;dbname=testdb', 'username', 'password');
$stmt = $pdo->query('SELECT id, name, email FROM users');
$columnCount = $stmt->columnCount();
echo "쿼리 결과에 포함 된 열 수는 다음과 같습니다.: " . $columnCount;
이 코드는 3과 같은 결과 세트에 포함 된 열 수를 출력합니다.
FetchColumn () 메소드는 결과 세트에서 단일 열에 대한 데이터를 가져옵니다. 기본적으로 현재 행에서 첫 번째 열의 값을 반환합니다. 인덱스는 0부터 시작하여 매개 변수를 통해 검색 할 열 인덱스를 지정할 수도 있습니다.
$stmt = $pdo->query('SELECT id, name, email FROM users');
while ($value = $stmt->fetchColumn(1)) { // 각 행의 두 번째 열의 값을 얻으십시오.,지금 바로 name 목록
echo $value . "\n";
}
이 코드는 모든 결과 행을 반복하고 각 행의 이름 열 값을 출력합니다.
loop 컨트롤과 결합 할 수있는 columnCount ()을 통해 열 수를 가져오고 retchcolumn ()을 사용하여 칼럼별로 데이터 열을 추출하십시오. 각 열을 하나씩 처리해야 할 때 매우 유용합니다.
샘플 코드는 다음과 같습니다.
$pdo = new PDO('mysql:host=gitbox.net;dbname=testdb', 'username', 'password');
$stmt = $pdo->query('SELECT id, name, email FROM users');
$columnCount = $stmt->columnCount();
while ($rowIndex = $stmt->fetch(PDO::FETCH_NUM)) { // 사용 FETCH_NUM 인덱스 배열을 반환합니다
for ($i = 0; $i < $columnCount; $i++) {
echo "1.{$rowIndex[0]}좋아요,1." . ($i + 1) . "목록的值是: " . $rowIndex[$i] . "\n";
}
}
여기서 먼저 ColumnCount ()를 사용하여 열 수를 얻은 다음 얻은 행 배열에서 각 열을 반복합니다. FetchColumn () 도 열별로 데이터 열을 얻을 수 있지만 추가 처리를 위해 전체 행을 루프로 가져 오는 것이 더 편리합니다.
모든 데이터를 열에서 개별적으로 가져 오려면 FetchColumn () 이 좋은 선택입니다.
$stmt = $pdo->query('SELECT id, name, email FROM users');
echo "모든 사용자를위한 이메일:\n";
while ($email = $stmt->fetchColumn(2)) { // 1.3목록 email
echo $email . "\n";
}
이 코드는 각 레코드의 이메일 주소를 차례로 인쇄합니다.
CollectCount ()는 쿼리 결과에 몇 개의 열이 있는지 알 수 있으며, 이는 프로그램의 루핑 또는 확인에 편리합니다.
FetchColumn ()은 결과 세트에서 단일 열 데이터를 효율적으로 추출하여 메모리 및 코드 복잡성을 저장하는 데 사용될 수 있습니다.
이 두 가지를 결합하면 특히 동적 열 수 또는 다중 열 데이터 시나리오에서 쿼리 결과를 통과하고 프로세스 쿼리 결과를보다 유연하게 만들 수 있습니다.
이 두 기능의 조합을 마스터하면 PHP 데이터베이스 프로그래밍에서 더 편안 해집니다.