
SwooleCoroutineMySQL::query를 호출하면, 쿼리 결과를 얻을 수 있는 방법은 다음과 같습니다.
1. fetchAll() 메서드를 사용하여 모든 결과를 얻을 수 있습니다. 예를 들어, 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
php
$result = yield $mysql->query("SELECT * FROM 테이블명");
$data = $result->fetchAll();
2. fetchRow() 메서드를 사용하여 한 줄의 결과를 얻을 수 있습니다. 예를 들어, 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
php
$result = yield $mysql->query("SELECT * FROM 테이블명");
while ($row = $result->fetchRow()) {
// 결과 처리
}
에러가 발생할 경우, SwooleCoroutineMySQL::query는 예외를 발생시키지 않습니다. 대신, 에러를 처리하기 위한 메서드인 getError()를 제공합니다. 예를 들어, 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
php
try {
$result = yield $mysql->query("SELECT * FROM 테이블명");
} catch (SwooleCoroutineMySQLException $e) {
// 에러 처리
}
또한, 쿼리 결과를 얻을 때, fetchMode를 사용하여 결과를 얻을 수 있습니다. fetchMode는 결과를 얻을 때 사용할 방법을 지정하는 옵션입니다. SwooleCoroutineMySQL::query에서 지원하는 fetchMode의 종류는 다음과 같습니다.
- Swoole\Coroutine\MySQL::FETCH_ASSOC: 결과를 연관 배열로 얻습니다.
- Swoole\Coroutine\MySQL::FETCH_NUM: 결과를 숫자 인덱스로 얻습니다.
- Swoole\Coroutine\MySQL::FETCH_BOTH: 결과를 연관 배열과 숫자 인덱스로 얻습니다.
- Swoole\Coroutine\MySQL::FETCH_OBJ: 결과를 객체로 얻습니다.
예를 들어, 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
php
$result = yield $mysql->query("SELECT * FROM 테이블명", SwooleCoroutineMySQL::FETCH_ASSOC);
$data = $result->fetchAll();
위의 예제에서, 결과는 연관 배열로 얻어집니다.
2025-08-14 22:09