[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

Avance de Horizon Forbidden West

Avance de Horizon Forbidden West El año 2022 ha empezado fuerte en consolas, y los próximos meses estarán repletos de potentísimos lanzamientos. Uno de los...

Los mejores juegos de Android en 2021

Llega el momento de echar la vista atrás y repasar lo mejor que nos ha dejado 2021. Y hoy queremos hacerlo sobre uno de...

Avance de Hogwarts Legacy

Aunque este ambicioso RPG tuvo su primer anuncio hace bastante más de un año, con motivo del anuncio de los juegos que vería la...

Mejores mandos gaming para PC

Aunque es cierto que para muchos juegos la combinación de teclado y ratón es insuperable, no es menos cierto que muchos otros juegos ofrecen...

Los 6 juegos más esperados de 2022 para PC

El año 2021 va quedando atrás, y aunque los proyectos de videojuegos en PC son muchos cada año, son unos pocos los que acaparan...