
mysqli::more_results() 함수는 이전 쿼리 결과를 처리하기 전에 사용할 수 없습니다.
이러한 경우, 이전 쿼리 결과를 처리하기 전에 mysqli::next_result() 함수를 사용하여 이전 쿼리 결과를 처리해야 합니다.
예를 들어, 다음 코드를 사용할 수 있습니다.
#hostingforum.kr
php
$conn = new mysqli($host, $user, $password, $db);
if ($conn->query("SELECT * FROM 테이블1")) {
$result1 = $conn->store_result();
while ($row = $result1->fetch_assoc()) {
// 결과 처리
}
$result1->free();
}
if ($conn->next_result()) {
$result2 = $conn->store_result();
while ($row = $result2->fetch_assoc()) {
// 결과 처리
}
$result2->free();
} else {
// 이전 쿼리 결과를 처리하지 못했습니다.
}
또는, mysqli::multi_query() 함수를 사용하여 여러 쿼리를 한번에 실행할 수 있습니다.
#hostingforum.kr
php
$conn = new mysqli($host, $user, $password, $db);
if ($conn->multi_query("SELECT * FROM 테이블1; SELECT * FROM 테이블2")) {
do {
if ($result = $conn->store_result()) {
while ($row = $result->fetch_assoc()) {
// 결과 처리
}
$result->free();
}
} while ($conn->next_result());
} else {
// 쿼리 실행 실패
}
2025-07-29 01:50