현재 위치: > 최신 기사 목록> Qustod ()를 사용하여 쿼리 결과에서 열을 연결하십시오.

Qustod ()를 사용하여 쿼리 결과에서 열을 연결하십시오.

M66 2025-05-17

PHP에서 쿼리 작업에 MySQL 데이터베이스를 사용하는 경우 일반적으로 MySQLI 확장 기능을 사용하여 SQL 쿼리를 수행합니다. 쿼리를 실행 한 후에는 후속 처리를 위해 특정 열의 모든 결과를 문자열로 병합해야 할 수도 있습니다. 현재 MySQLI_RESULTIMPLODE () 기능은 매우 유용한 도구입니다.

이 기사에서는 mysqli_result를 통해 쿼리 결과를 얻는 방법을 보여주고 inffore () 함수를 사용하여 쿼리 결과에 데이터 열을 연결합니다.

1 단계 : 데이터베이스에 연결합니다

먼저 MySQL 데이터베이스에 연결해야합니다. 여기서 서버에서 MySQL 데이터베이스를 구성했다고 가정합니다.

 <?php
$servername = "localhost"; // 데이터베이스 서버 주소
$username = "root";        // 데이터베이스 사용자 이름
$password = "";            // 데이터베이스 비밀번호
$dbname = "test_db";       // 사용 된 데이터베이스 이름

// 연결을 만듭니다
$conn = new mysqli($servername, $username, $password, $dbname);

// 연결이 성공했는지 확인하십시오
if ($conn->connect_error) {
    die("연결이 실패했습니다: " . $conn->connect_error);
}
?>

2 단계 : SQL 쿼리를 실행합니다

다음으로 SQL 쿼리를 실행하고 결과를 가져와야합니다. 사용자 라는 테이블이 있다고 가정하고 이메일 에 이메일이 있으며 모든 사용자의 이메일 주소를 문자열로 연결하려고합니다.

 <?php
// 쿼리를 실행하십시오
$sql = "SELECT email FROM users";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // 쿼리 결과를 저장하기 위해 빈 배열을 만듭니다 email
    $emails = array();

    // 트래버스 쿼리 결과,각각을 넣으십시오 email 배열에 저장하십시오
    while ($row = $result->fetch_assoc()) {
        $emails[] = $row['email'];
    }

    // 사용 implode() 함수는 모든 배열이됩니다 email 문자열로 연결됩니다
    $emailList = implode(", ", $emails);

    echo "모든 사용자의 이메일 주소: " . $emailList;
} else {
    echo "데이터가 발견되지 않았습니다";
}

$conn->close();
?>

3 단계 : 코드를 구문 분석합니다

  1. $ conn-> query ($ sql) :이 코드 줄은 쿼리를 실행하고 쿼리 결과를 $ result 변수에 저장합니다.

  2. $ result-> fetch_assoc () :이 코드 라인은 각 데이터 줄을 쿼리 결과에서 가져옵니다. 루핑을 통해 이메일 열의 데이터를 배열 $ 이메일 에 추가합니다.

  3. implode ( ",", $ emails) : implode () 함수는 배열의 모든 요소 (즉, 사용자의 이메일 주소)를 쉼표와 공백이있는 문자열로 연결합니다.

주목해야 할 것

  • 쿼리 결과에 데이터가 없으면 $ result-> num_rows가 0을 반환하고 적절한 판단을해야합니다.

  • mysqli_result를 사용하여 쿼리 결과를 얻을 때 SQL 쿼리에서 반환 한 결과가 유효한지 확인하십시오.

완전한 코드 예제

 <?php
$servername = "localhost"; // 데이터베이스 서버 주소
$username = "root";        // 데이터베이스 사용자 이름
$password = "";            // 데이터베이스 비밀번호
$dbname = "test_db";       // 사용 된 데이터베이스 이름

// 연결을 만듭니다
$conn = new mysqli($servername, $username, $password, $dbname);

// 연결이 성공했는지 확인하십시오
if ($conn->connect_error) {
    die("연결이 실패했습니다: " . $conn->connect_error);
}

// 쿼리를 실행하십시오
$sql = "SELECT email FROM users";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // 쿼리 결과를 저장하기 위해 빈 배열을 만듭니다 email
    $emails = array();

    // 트래버스 쿼리 결과,각각을 넣으십시오 email 배열에 저장하십시오
    while ($row = $result->fetch_assoc()) {
        $emails[] = $row['email'];
    }

    // 사용 implode() 함수는 모든 배열이됩니다 email 문자열로 연결됩니다
    $emailList = implode(", ", $emails);

    echo "모든 사용자의 이메일 주소: " . $emailList;
} else {
    echo "데이터가 발견되지 않았습니다";
}

$conn->close();
?>

요약

mysqli_resultinffod () 함수를 결합함으로써 쿼리 결과에서 데이터 열을 쉽게 가져 와서 문자열로 연결할 수 있습니다. 이러한 방법은 많은 양의 데이터를 처리 할 때, 특히 쿼리 결과를 다른 시스템에 전달하거나 추가 데이터 처리를 수행해야 할 때 매우 유용합니다.