注意事项
操作系统为Linux时,需要安装php-mysql 5.1.x模块。
操作系统为Windows时,需要安装php_MySQL.dll。
如果使用公网地址连接AnalyticDB MySQL集群,您还需要将待访问AnalyticDB MySQL集群的设备IP加入白名单。
使用mysqli连接AnalyticDB MySQL
//AnalyticDB MySQL集群的连接地址,可以在控制台的集群信息页面获取连接地址。
$ads_server_name="am-bp***.ads.aliyuncs.com";
//AnalyticDB MySQL集群的用户账号:高权限账号或者普通账号。
$ads_username="account_name";
//AnalyticDB MySQL集群的用户账号的密码。
$ads_password="account_password";
//AnalyticDB MySQL集群的数据库名称。
$ads_database="db_name";
//AnalyticDB MySQL集群的连接端口号。
$ads_port=3306;
//连接AnalyticDB MySQL。
$ads_conn=mysqli_connect($ads_server_name,$ads_username,$ads_password,$ads_database, $ads_port);
$strsql="SELECT user_id FROM my_ads_db.my_first_table limit 20;";
$result=mysqli_query($ads_conn, $strsql);
while($row = mysqli_fetch_array($result)) {
//user_id为列名
echo $row["user_id"];
}
使用PDO连接AnalyticDB MySQL
//AnalyticDB MySQL集群的连接地址,可以在控制台的集群信息页面获取连接地址。
$ads_server_name = "am-bp***.ads.aliyuncs.com";
//AnalyticDB MySQL集群的用户账号:高权限账号或者普通账号。
$ads_username = "account_name";
//AnalyticDB MySQL集群的用户账号的密码。
$ads_password = "account_password";
//AnalyticDB MySQL集群的数据库名称。
$ads_database = 'db_name';
//AnalyticDB MySQL集群的连接端口号。
$ads_port = 3306;
$dsn = "mysql:host={$ads_server_name};dbname={$ads_database};port={$ads_port}";
try {
$dbh = new PDO($dsn, $ads_username, $ads_password);
echo 'PDO Success !';
} catch (PDOException $e) {
echo 'PDO Connection failed: ' . $e->getCode() ."\n" . $e->getMessage() ."\n". $e->getTraceAsString();
}
参考链接
https://help.aliyun.com/zh/analyticdb/analyticdb-for-mysql/user-guide/php?spm=a2c4g.11186623.0.i2
在PHP中连接ADB MySQL,你可以使用mysqli或PDO两种方式:
使用mysqli连接ADB MySQL:
配置ADB MySQL集群的连接信息(地址、用户名、密码、数据库名和端口)。
使用mysqli_connect函数建立连接。
执行SQL查询并处理结果。
示例代码:
$ads_server_name = "am-bp*.ads.aliyuncs.com";
$ads_username = "account_name";
$ads_password = "account_password";
$ads_database = "db_name";
$ads_port = 3306;
$ads_conn = mysqli_connect($ads_server_name, $ads_username, $ads_password, $ads_database, $ads_port);
$strsql = "SELECT user_id FROM my_ads_db.my_first_table limit 20;";
$result = mysqli_query($ads_conn, $strsql);
while($row = mysqli_fetch_array($result)) {
echo $row["user_id"];
}
使用PDO连接ADB MySQL:
设置数据源名称(DSN)包含连接信息。
使用PDO类实例化连接对象,通过try-catch处理可能的异常。
示例代码:
$ads_server_name = "am-bp*.ads.aliyuncs.com";
$ads_username = "account_name";
$ads_password = "account_password";
$ads_database = 'db_name';
$ads_port = 3306;
$dsn = "mysql:host={$ads_server_name};dbname={$ads_database};port={$ads_port}";
try {
$dbh = new PDO($dsn, $ads_username, $ads_password);
echo 'PDO Success !';
} catch (PDOException $e) {
echo 'PDO Connection failed: ' . $e->getCode() ."\n" . $e->getMessage() ."\n". $e->getTraceAsString();
}
此回答整理自钉群“云数据仓库ADB-开发者群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云自主研发的云原生数据仓库,具有高并发读写、低峰谷读写、弹性扩展、安全可靠等特性,可支持PB级别数据存储,可广泛应用于BI、机器学习、实时分析、数据挖掘等场景。包含AnalyticDB MySQL版、AnalyticDB PostgreSQL 版。