全部产品
Search
文档中心

云原生多模数据库 Lindorm:基于PHP的应用开发

更新时间:Nov 09, 2023

本文介绍基于PHP连接和使用Lindorm宽表引擎的方法。

前提条件

操作步骤

  1. 安装php-mysql模块。安装方式,请参见PHP安装

  2. 配置连接参数。

    $lindorm_addr="ld-uf6k8yqb741t3****-proxy-sql-lindorm-public.lindorm.rds.aliyuncs.com";
    $lindorm_username="user";
    $lindorm_password="test";
    $lindorm_database="default";
    $lindorm_port=33060;

    参数说明

    参数

    说明

    $lindorm_addr

    Lindorm宽表引擎的MySQL兼容地址。如何获取,请参见查看连接地址

    重要
    • 如果应用部署在ECS实例,建议您通过专有网络访问Lindorm实例,可获得更高的安全性和更低的网络延迟。

    • 如果应用部署在本地,在通过公网连接Lindorm实例前,需在控制台开通公网地址。开通方式:在控制台选择数据库连接 > 宽表引擎,在宽表引擎页签单击开通公网地址

    • 通过专有网络访问Lindorm实例,$lindorm_addr请填写MySQL兼容地址对应的专有网络地址。通过公网访问Lindorm实例,$lindorm_addr请填写MySQL兼容地址对应的公网地址。

    $lindorm_username

    如果您忘记用户密码,可以通过Lindorm宽表引擎的集群管理系统修改密码。具体操作,请参见修改用户密码

    $lindorm_password

    $lindorm_database

    需要连接的数据库名称。默认连接default数据库。

    $lindorm_port

    Lindorm宽表引擎MySQL协议的端口,固定为33060。

  3. 创建连接,通过宽表SQL语法使用Lindorm宽表引擎。以建表为例。

    //连接liandorm宽表引擎
    $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_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;
    }

完整示例

<?php

//Lindorm宽表引擎的MySQL兼容地址
$lindorm_addr="ld-uf6k8yqb741t3****-proxy-sql-lindorm-public.lindorm.rds.aliyuncs.com";
//Lindorm宽表引擎的用户名
$lindorm_username="user";
//Lindorm宽表引擎的密码
$lindorm_password="test";
//需要连接的数据库名称
$lindorm_database="default";
//Lindorm宽表引擎MySQL协议的端口
$lindorm_port=33060;

//连接Lindorm宽表引擎
$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_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_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;
}

//查询数据
$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"]);
}

?>

执行成功后将返回如下结果:

connect to Lindorm successfully
create table successfully
insert data successfully
id 1
name zhangsan
age 17