PHP에서 데이터베이스 쿼리 처리는 매일 개발에서 매우 일반적인 작업입니다. 여러 테이블에서 데이터를 가져와야 할 때 일반적으로 멀티 테이블 조인 (조인) 쿼리를 사용합니다. 쿼리를 실행 한 후 쿼리 결과를 쉽게 얻는 방법이 키가됩니다. 이 기사에서는 Fetch_all () 메소드를 사용하여 다중 테이블 조인 쿼리의 결과를 얻고 예제 코드와 함께 설명하는 방법을 소개합니다.
멀티 테이블 조인 쿼리는 특정 조건에 따라 여러 테이블에서 데이터를 연관시키고 결과를 반환 할 수 있습니다. 예를 들어, 두 개의 테이블 사용자 와 주문이 있습니다. 우리는 모든 사용자와 해당 주문 정보를 쿼리하려고하며 가입을 사용할 수 있습니다.
SELECT users.id, users.name, orders.order_id, orders.amount
FROM users
JOIN orders ON users.id = orders.user_id;
PHP는 MySQL 데이터베이스를 운영하는 다양한 방법을 제공합니다. 여기서 우리는 mysqli extension을 사용하고 fetch_all () 메소드를 사용하여 모든 결과를 얻습니다.
<?php
$mysqli = new mysqli("m66.net", "username", "password", "database");
if ($mysqli->connect_error) {
die("연결이 실패했습니다: " . $mysqli->connect_error);
}
?>
<?php
$sql = "SELECT users.id, users.name, orders.order_id, orders.amount
FROM users
JOIN orders ON users.id = orders.user_id";
$result = $mysqli->query($sql);
if (!$result) {
die("쿼리가 실패했습니다: " . $mysqli->error);
}
?>
fetch_all ()은 결과 세트의 모든 행을 한 번에 얻고 2 차원 배열을 반환합니다. 기본 반환 유형은 MySQLI_NUM , 즉 인덱스 어레이입니다. 또한 MySQLI_Assoc을 사용하여 연관 배열을 얻을 수 있습니다.
<?php
$data = $result->fetch_all(MYSQLI_ASSOC);
foreach ($data as $row) {
echo "사용자ID: " . $row['id'] . ",이름: " . $row['name'] . ",주문하다ID: " . $row['order_id'] . ",양: " . $row['amount'] . "<br>";
}
?>
<?php
$mysqli->close();
?>
<?php
$mysqli = new mysqli("m66.net", "username", "password", "database");
if ($mysqli->connect_error) {
die("연결이 실패했습니다: " . $mysqli->connect_error);
}
$sql = "SELECT users.id, users.name, orders.order_id, orders.amount
FROM users
JOIN orders ON users.id = orders.user_id";
$result = $mysqli->query($sql);
if (!$result) {
die("쿼리가 실패했습니다: " . $mysqli->error);
}
$data = $result->fetch_all(MYSQLI_ASSOC);
foreach ($data as $row) {
echo "사용자ID: " . $row['id'] . ",이름: " . $row['name'] . ",주문하다ID: " . $row['order_id'] . ",양: " . $row['amount'] . "<br>";
}
$mysqli->close();
?>
멀티 테이블 조인 쿼리는 관련 데이터를 얻는 효과적인 방법입니다.
mysqli 의 query ()를 사용하여 쿼리를 실행하고 fetch_all ()을 사용하여 모든 결과를 한 번에 얻고 데이터 처리를 단순화하십시오.
fetch_all () 의 매개 변수를 mysqli_assoc 으로 설정하면 필드 이름을 통해 데이터에 쉽게 액세스 할 수 있습니다.
이 기사가 Fetch_all ()을 더 잘 이해하고 사용하여 다중 테이블 조인 쿼리의 결과를 얻을 수 있기를 바랍니다.