[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

Udforskning af niche bordspil fra hele verden

IntroduktionI en verden, hvor online spil konstant udvikler sig, er niche bordspil blevet en fascinerende kategori, der tiltrækker opmærksomhed fra både spillere og analytikere....

Registrierung bei HellSpin: Ein Leitfaden für Branchenanalysten

EinführungDie Registrierung bei HellSpin ist ein entscheidender Schritt für Nutzer, die Zugang zu einer Vielzahl von Online-Glücksspielangeboten suchen. In der Schweiz, wo die Regulierung...

¿Vale la pena jugar en Stake España? Un vistazo a su licencia de Curaçao

En un mundo donde el entretenimiento digital se ha convertido en una parte esencial de la vida cotidiana, los casinos en línea han ganado...

Verantwoord spelen bij Betrouwbaar Casino Zonder Cruks: alles over licentiecontrole en

De wereld van het online casino is constant in ontwikkeling en Nederlandse spelers zoeken steeds vaker naar betrouwbare, veilige én transparante platforms zonder Cruks-registratie....

AmunBet Nederland: ontdek de voordelen van een 450% bonus en 450 gratis spins

In de wereld van online gokken biedt AmunBet Nederland een unieke ervaring met een indrukwekkend aanbod van casino spellen, live dealers en sports betting...