PHP 原生连接 Mysql

本文涉及的产品
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: PHP 原生连接 Mysql


  • 连接数据库,确定数据库已经开启
<?php
// 主机名
$db_host = "localhost";
// 端口号
$db_port = "3306";
// 用户名
$db_user = "root9";
// 密码
$db_pass = "123456";
// 数据库名
$db_name = "test";
// 字符集
$db_charset = "utf8";
// 连接 Mysql 服务器,如果连接成功返回 Mysqli 连接对象,如果失败,则返回 false
$link = mysqli_connect($db_host.":".$db_port, $db_user, $db_pass);
var_dump($link);
?>
  • 如果报错这个,就是未启动数据库,去启动一下 Mysql。
PHP Warning:  mysqli_connect(): (HY000/2002): Connection refused in ...
  • 如果报错这个,那可能是你数据库连接的信息未填写正确,仔细检查一下我这边是 root 写成了 root9,改回去 root 即可。
PHP Warning:  mysqli_connect(): (HY000/1045): Access denied for user 'root9'@'localhost' (using password: YES) in ...

但是像这么直接把错误详细数据抛出来,是不好的,如果别人在访问你的网站你报错这个,人家就知道你的数据库地址了,是可以攻击你的


所以我们可以使用 PHP错误控制运算符 @ 来避免这些带有敏感数据错误异常抛出去给用户看到,下面就是加上了 PHP错误控制运算符 @ 的代码,现在如果报错是不会抛出异常的。


<?php
....
....
// 连接 Mysql 服务器,如果连接成功返回 Mysqli 连接对象,如果失败,则返回 false
$link = @mysqli_connect($db_host.":".$db_port, $db_user, $db_pass);
var_dump($link);
?>

错误处理好了就需要整理一下代码,使用数据库了

<?php
....
....
// 连接 Mysql 服务器,如果连接成功返回 Mysqli 连接对象,如果失败,则返回 false
if (!$link = @mysqli_connect($db_host.":".$db_port, $db_user, $db_pass)) {
  echo "<h2>PHP连接Mysql服务器失败!</h2>";
  // 输出错误信息
  echo "系统错误信息:".mysqli_connect_error();
  // 终止程序 exit() 或 die()
  die();
}
echo "<h2>PHP连接Mysql服务器成功!</h2>";
// 连接成功,如果使用完毕之后,需要关闭数据库连接,以免占用资源
mysqli_close($link);
?>

整理好连接成功后,就可以开始操作数据库了。

PHP 原生操作 Mysql


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
10天前
|
NoSQL 关系型数据库 MySQL
linux服务器重启php,nginx,redis,mysql命令
linux服务器重启php,nginx,redis,mysql命令
19 1
|
17天前
|
SQL 监控 安全
代码审计-PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
代码审计-PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
|
10天前
|
PHP
原生php制作分页函数
原生php制作分页函数
5 0
|
1月前
|
Ubuntu 关系型数据库 MySQL
ubuntu apt 安装wordpress所需所有的 一键脚本 扩展您的PHP似乎没有安装运行WordPress所必需的MySQL扩展。
ubuntu apt 安装wordpress所需所有的 一键脚本 扩展您的PHP似乎没有安装运行WordPress所必需的MySQL扩展。
22 0
ubuntu apt 安装wordpress所需所有的 一键脚本 扩展您的PHP似乎没有安装运行WordPress所必需的MySQL扩展。
|
19天前
|
前端开发 关系型数据库 MySQL
使用 PHP 和 MySQL 实现留言板功能
使用 PHP 和 MySQL 实现留言板功能
36 0
|
2月前
|
关系型数据库 MySQL PHP
unbuntu搭建LAMP(Apache2+PHP+MySQL+phpmyadmin)
unbuntu搭建LAMP(Apache2+PHP+MySQL+phpmyadmin)
|
4天前
|
XML Java 关系型数据库
Action:Consider the following: If you want an embedde ,springBoot配置数据库,补全springBoot的xml和mysql配置信息就好了
Action:Consider the following: If you want an embedde ,springBoot配置数据库,补全springBoot的xml和mysql配置信息就好了
|
4天前
|
关系型数据库 MySQL 数据库
关系型数据库mysql数据增量恢复
【7月更文挑战第3天】
13 2
|
4天前
|
关系型数据库 MySQL Shell
关系型数据库mysql数据完全恢复
【7月更文挑战第3天】
12 2
|
4天前
|
存储 关系型数据库 MySQL