3차원 배열을 얻기 위해 PHP에서 테이블 쿼리를 결합하는 방법

PHPz
풀어 주다: 2023-04-27 09:33:19
원래의
399명이 탐색했습니다.

웹 개발에서는 공동 테이블 쿼리가 일반적인 작업입니다. PHP 언어에서는 여러 테이블 간의 조인을 사용하여 쿼리를 구현할 수 있습니다. 보다 복잡한 쿼리 작업의 경우, 획득하려는 데이터가 상대적으로 복잡한 경우 일반적으로 3차원 배열을 사용하여 데이터를 저장할 수 있습니다. 이 기사에서는 PHP를 사용하여 공동 테이블 쿼리를 수행하는 방법과 3차원 배열을 얻는 방법을 소개합니다.

1. 공동 테이블 쿼리란 무엇인가요?

조인트 테이블 쿼리는 쿼리에서 여러 테이블을 동시에 사용하는 작업을 말합니다. 테이블에 특정 필드 정보가 부족하거나 여러 테이블에서 일부 정보를 가져와야 하는 경우 공동 테이블 쿼리를 사용해야 합니다.

공동 테이블 쿼리를 수행할 때 JOIN 키워드를 사용하여 여러 테이블을 함께 조인해야 합니다. 연결 키워드에는 LEFT JOIN, RIGHT JOIN, INNER JOIN, FULL OUTER JOIN 등이 포함됩니다. 필요에 따라 선택하세요. 일반적으로 INNER JOIN을 사용하면 필요를 충족할 수 있습니다.

2. PHP를 사용하여 공동 테이블 쿼리를 수행하는 방법은 무엇입니까?

PHP에서는 데이터베이스 작업에 PDO(PHP Data Objects)를 사용할 수 있습니다. 다음은 INNER JOIN 키워드를 사용하여 두 테이블에 대해 공동 쿼리를 수행하는 간단한 예입니다.

$servername = "localhost";
$username = "사용자 이름";
$password = "password";
$dbname = "myDBPDO";

try {
$conn = 새 PDO(" mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT Orders.OrderID, 고객 .CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID";

foreach ($conn->query($sql) as $row) {

print $row['OrderID'] . "\t"; print $row['CustomerName'] . "\t"; print $row['OrderDate'] . "\n";
로그인 후 복사

}
} catch( PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;
?>

위 코드에서는 먼저 데이터베이스에 연결합니다. 다음으로 INNER JOIN 키워드를 사용하여 Orders 테이블과 Customers 테이블에 대한 공동 쿼리를 수행하고 foreach 루프를 사용하여 쿼리 결과를 순회했습니다.

보시다시피 SELECT 문을 사용하여 쿼리할 필드를 지정하고 INNER JOIN 키워드를 사용하여 두 테이블을 연결했습니다. 다음 루프에서는 print를 사용하여 쿼리 결과를 출력합니다.

3. 3차원 배열을 얻는 방법은 무엇인가요?

얻어야 하는 데이터가 상대적으로 복잡한 경우 공동 테이블 쿼리가 완료된 후 쿼리 결과를 3차원 배열로 변환하여 저장해야 합니다. 아래는 이를 기반으로 수정한 샘플 코드입니다.

$servername = "localhost";
$username = "사용자 이름";
$password = "password";
$dbname = "myDBPDO";

try {
$conn = 새 PDO(" mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT Orders.OrderID, 고객 .CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID";

$result = $conn->query($sql)->fetchAll(PDO::FETCH_GROUP|PDO: :FETCH_ASSOC);

$output = array();
foreach ($result as $key=>$val) {

$output[] = array("OrderID"=>$key, "OrderDetail"=>$val);
로그인 후 복사

}

print_r($output);
} catch(PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;
?>

위 코드에서는 PDO::FETCH_GROUP 및 PDO::FETCH_ASSOC 두 상수를 사용합니다. 그룹화된 연관 배열. 다음으로 루프를 통해 결과를 3차원 배열로 변환하고, 마지막으로 배열 출력을 위해 print_r 함수를 사용합니다.

4. 요약

웹 개발에서 공동 테이블 쿼리는 매우 일반적인 작업입니다. INNER JOIN 키워드를 사용하면 쿼리를 위해 여러 테이블을 쉽게 조인할 수 있습니다. 데이터가 복잡할 경우 3차원 배열을 사용하여 후속 처리를 위해 쿼리 결과를 저장할 수 있습니다. 데이터베이스 작업에 PDO를 사용할 때는 보안에 주의하고 예외를 처리해야 합니다.

위 내용은 3차원 배열을 얻기 위해 PHP에서 테이블 쿼리를 결합하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!