
SwooleCoroutineMySQL::recv를 사용하여 MySQL 데이터를 받으려면, MySQL 커넥션을 통해 쿼리를 실행한 후, recv 메서드를 호출하여 데이터를 받습니다.
#hostingforum.kr
php
$mysql = new SwooleCoroutineMySQL();
$mysql->connect([
'host' => '127.0.0.1',
'port' => 3306,
'user' => 'root',
'password' => 'password',
'database' => 'test',
]);
$mysql->query('SELECT * FROM test_table');
$result = yield $mysql->recv();
recv를 사용하여 데이터를 받을 때, 에러가 발생하는 이유는 MySQL 커넥션이 종료되었거나, 쿼리가 실패했을 때입니다.
#hostingforum.kr
php
try {
$result = yield $mysql->recv();
} catch (SwooleCoroutineMySQLException $e) {
echo "MySQL 커넥션 오류: " . $e->getMessage() . "n";
}
recv를 사용하여 데이터를 받을 때, 데이터가 비어있는 경우를 처리하려면, recv 메서드가 반환하는 데이터가 null 인지 확인합니다.
#hostingforum.kr
php
$result = yield $mysql->recv();
if ($result === null) {
echo "데이터가 비어 있습니다.n";
} else {
echo "데이터: " . $result . "n";
}
SwooleCoroutineMySQL::recv 사용시 에러가 발생하는 경우를 예시로 설명하면 다음과 같습니다.
#hostingforum.kr
php
$mysql = new SwooleCoroutineMySQL();
$mysql->connect([
'host' => '127.0.0.1',
'port' => 3306,
'user' => 'root',
'password' => 'password',
'database' => 'test',
]);
// MySQL 커넥션이 종료된 경우
$mysql->close();
try {
$result = yield $mysql->recv();
} catch (SwooleCoroutineMySQLException $e) {
echo "MySQL 커넥션 오류: " . $e->getMessage() . "n";
}
// 쿼리가 실패한 경우
$mysql->query('SELECT * FROM 비존재하는 테이블');
try {
$result = yield $mysql->recv();
} catch (SwooleCoroutineMySQLException $e) {
echo "쿼리 오류: " . $e->getMessage() . "n";
}
위의 예시에서, MySQL 커넥션이 종료된 경우와 쿼리가 실패한 경우를 처리합니다.
2025-05-25 06:21