[Hack] Crear una conexión asíncrona a una instancia de MySQL

 

AsyncMysqlClient::connect

Comenzar una conexión asíncrona a una instancia de MySQL, normalmente se utiliza esto para realizar una conexión asíncrona con el cliente MySQL.

public static function connect(
string $host,
int $port,
string $dbname,
string $user,
string $password,
int $timeout_micros = -1,
?MySSLContextProvider $ssl_provider = null,
): Awaitable<AsyncMysqlConnection>
</pre>

Parámetros

 

        • string $host – El nombre de host al que conectar.
        • int $port – El puerto para conectarse.
        • string $dbname – La base de datos inicial para conectarnos.
        • string $user – El usuario para conectarse.
        • string $password – La contraseña del usuario.
        • int $timeout_micros = -1 – Tiempo de espera, en microsegundos, para la conexión; -1 para el valor predeterminado, 0 para ningún tiempo de espera.
        • ?MySSLContextProvider $ssl_provider = null

       

Variables devueltas

Awaitable <AsyncMysqlConnection> – Awaitable representando un AsyncMysqlConnection. Esperar o unirse a este resultado para obtener la conexión actual.

Ejemplos

El siguiente ejemplo muestra cómo utilizar AsyncMysqlClient :: connect () para conectarse a una base de datos de forma asíncrona y obtener un resultado de esa conexión. Observa un par de cosas:

        • Los parámetros para conectar () son muy similares a los de una conexión mysqli normal.
        • Con AsyncMysqlClient, podemos aprovechar al máximo async para realizar otras operaciones de conexión de base de datos o de Entrada/Salida mientras esperamos que esta conexión vuelva.

       

<?hh

namespace Hack\UserDocumentation\API\Examples\AsyncMysql\Client\Conn;

use \Hack\UserDocumentation\API\Examples\AsyncMysql\ConnectionInfo as CI;

async function do_connect(): Awaitable<\AsyncMysqlQueryResult> {
// La matriz de get_connection_info () es una mezcla
$conn = await \AsyncMysqlClient::connect(
CI::$host,
CI::$port,
CI::$db,
CI::$user,
CI::$passwd);
return await $conn->query('SELECT * FROM test_table');
}

function run_it(): void {
$res = \HH\Asio\join(do_connect());
var_dump($res->numRows()); // El número de filas del SELECT
}

run_it();

Salida

int(30)
PandaGG
Lok'tar ogar

Dejar respuesta

Please enter your comment!
Please enter your name here

Sponsor

Últimos

Rainbet Konto Erstellen: A Practical Guide to Crypto Casino Sessions

The first thing most players notice about Rainbet is the sheer scale of what’s on offer. With over 8,000 casino games, a full sportsbook,...

Hvorfor spille live casino i stedet for RNG-spil?

IntroduktionLive casino-spil er blevet mere populære blandt spillere i Danmark, især blandt begyndere, der søger en mere autentisk spiloplevelse. I modsætning til RNG-spil, hvor...

At finde det bedste udbetalingscasino: Analyse af operatørers udbetalingsprocenter

IntroduktionNår det kommer til online gambling, er valget af det rigtige casino afgørende for at maksimere ens gevinster. For erfarne spillere i Danmark er...

Your ultimate guide to fast withdrawals at Interac Casinos Canada 2026: play and cash

The world of online casinos continues to evolve, and fast withdrawals have become a top priority for players in Canada. As we step into...

Waarom JumboSpin de ideale keuze is voor nieuwe spelers in 2026

In de wereld van online gokken biedt JumboSpin een scala aan mogelijkheden voor nieuwe spelers die op zoek zijn naar een spannende en veilige...