PHP에서 쿼리 작업에 MySQL 데이터베이스를 사용하는 경우 일반적으로 MySQLI 확장 기능을 사용하여 SQL 쿼리를 수행합니다. 쿼리를 실행 한 후에는 후속 처리를 위해 특정 열의 모든 결과를 문자열로 병합해야 할 수도 있습니다. 현재 MySQLI_RESULT 및 IMPLODE () 기능은 매우 유용한 도구입니다.
이 기사에서는 mysqli_result를 통해 쿼리 결과를 얻는 방법을 보여주고 inffore () 함수를 사용하여 쿼리 결과에 데이터 열을 연결합니다.
먼저 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);
}
?>
다음으로 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();
?>
$ conn-> query ($ sql) :이 코드 줄은 쿼리를 실행하고 쿼리 결과를 $ result 변수에 저장합니다.
$ result-> fetch_assoc () :이 코드 라인은 각 데이터 줄을 쿼리 결과에서 가져옵니다. 루핑을 통해 이메일 열의 데이터를 배열 $ 이메일 에 추가합니다.
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_result 및 inffod () 함수를 결합함으로써 쿼리 결과에서 데이터 열을 쉽게 가져 와서 문자열로 연결할 수 있습니다. 이러한 방법은 많은 양의 데이터를 처리 할 때, 특히 쿼리 결과를 다른 시스템에 전달하거나 추가 데이터 처리를 수행해야 할 때 매우 유용합니다.