Conecte una aplicación PHP a LindormTable mediante la extensión MySQLi y Lindorm SQL a través del endpoint compatible con MySQL.
Requisitos previos
Antes de empezar, asegúrese de contar con lo siguiente:
PHP 8.0 o una versión posterior instalada.
La función de compatibilidad con MySQL habilitada en su instancia de Lindorm. Consulte Enable the MySQL compatibility feature.
Su dirección IP cliente agregada a la lista de permitidos de su instancia de Lindorm. Consulte Configure a whitelist.
Instalación del módulo php-mysql
Instale el módulo php-mysql antes de conectarse a LindormTable. Para consultar las instrucciones de instalación, visite PHP installation.
Configuración de los parámetros de conexión
Obtenga el endpoint compatible con MySQL de su instancia de Lindorm. Consulte View connection addresses.
Configure los siguientes parámetros de conexión en su código PHP:
$lindorm_addr="ld-uf6k8yqb741t3****-proxy-sql-lindorm-public.lindorm.rds.aliyuncs.com";
$lindorm_username="user";
$lindorm_password="test";
$lindorm_database="default";
$lindorm_port=33060;
Parámetros de conexión
|
Parámetro |
Descripción |
|
|
El endpoint compatible con MySQL para LindormTable. Consulte View connection addresses para encontrar el endpoint. Utilice la dirección VPC cuando su aplicación se ejecute en una instancia ECS y la dirección de Internet cuando se conecte a través de la red pública. |
|
|
El nombre de usuario para LindormTable. Si olvidó la contraseña y necesita restablecerla, consulte Change a user password. |
|
|
La contraseña del usuario de LindormTable. |
|
|
La base de datos a la que desea conectarse. La base de datos predeterminada es |
|
|
El puerto del protocolo MySQL. Su valor fijo es |
Elija el tipo de endpoint adecuado para su red:
ECS (VPC): Conéctese a través de una red privada virtual (VPC) para obtener mayor seguridad y menor latencia. Establezca
$lindorm_addrcon la dirección VPC compatible con MySQL.Local o remota (red pública): Habilite primero el endpoint público. En la consola de Lindorm, vaya a Database Connections > Wide Table Engine y haga clic en Enable Public Endpoint. Después, establezca
$lindorm_addrcon la dirección de Internet compatible con MySQL.
Ejemplo completo
A continuación se muestra un ejemplo que se conecta a LindormTable, crea una tabla, inserta una fila con upsert into y consulta los datos.
<?php
// The MySQL-compatible endpoint for LindormTable.
$lindorm_addr="ld-uf6k8yqb741t3****-proxy-sql-lindorm-public.lindorm.rds.aliyuncs.com";
// The username for the LindormTable connection.
$lindorm_username="user";
// The password for the LindormTable connection.
$lindorm_password="test";
// The name of the database to connect to.
$lindorm_database="default";
// The port for the MySQL protocol of LindormTable.
$lindorm_port=33060;
// Connect to LindormTable.
$lindorm_conn = mysqli_connect(
$lindorm_addr,
$lindorm_username,
$lindorm_password,
$lindorm_database,
$lindorm_port
);
if (!$lindorm_conn) {
printf("Can't connect to Lindorm Server. Errorcode: %s \n", mysqli_error($lindorm_conn));
exit;
} else {
printf("connect to Lindorm successfully\n");
}
// Create a table.
$create_table = "create table if not exists user_test(id int, name varchar, age int, primary key(id))";
if (mysqli_query($lindorm_conn, $create_table)) {
printf("create table successfully\n");
} else {
printf("create table error: %s \n", mysqli_error($lindorm_conn));
exit;
}
// Insert data. LindormTable uses "upsert into" instead of standard INSERT INTO.
$insert_sql = "upsert into user_test(id, name, age) values(1, 'zhangsan', 17)";
if (mysqli_query($lindorm_conn, $insert_sql)) {
printf("insert data successfully\n");
} else {
printf("insert data error: %s \n", mysqli_error($lindorm_conn));
exit;
}
// Query data.
$select_sql = "select * from user_test";
$result = mysqli_query($lindorm_conn, $select_sql);
while ($row = mysqli_fetch_array($result)) {
printf("id %d\n", $row["id"]);
printf("name %s\n", $row["name"]);
printf("age %d\n", $row["age"]);
}
?>
Salida esperada:
connect to Lindorm successfully
create table successfully
insert data successfully
id 1
name zhangsan
age 17
Funcionamiento del ejemplo
Cada bloque del ejemplo ejecuta una operación distinta:
Conexión:
mysqli_connect()abre una conexión mediante el endpoint compatible con MySQL y el puerto fijo33060.Creación de la tabla: La instrucción
CREATE TABLE IF NOT EXISTScreauser_testconidcomo clave principal. Esta instrucción es idempotente, por lo que ejecutarla varias veces no genera ningún error.Inserción de datos: LindormTable utiliza
upsert intoen lugar de la instrucción estándarINSERT INTO. Si ya existe una fila con la misma clave principal, la operación upsert la actualiza.Consulta de datos:
mysqli_query()devuelve un conjunto de resultados. Por su parte,mysqli_fetch_array()recorre las filas y permite acceder a los valores de las columnas por su nombre.
Pasos siguientes
Para obtener más información sobre la sintaxis de Lindorm SQL, consulte la Lindorm SQL reference.
Para gestionar usuarios y permisos, consulte Manage users.