PHP连接MySQL实现CRUD需先启用mysqli或PDO扩展,再分别用面向对象、过程式或PDO方式连接并操作数据库,最后通过配置文件复用连接逻辑。

如果您在PHP中执行增删改查操作,但数据库连接失败,则可能是由于数据库配置信息错误或扩展未启用。以下是实现PHP连接数据库并完成基本CRUD操作的步骤:
一、使用MySQLi面向对象方式连接
MySQLi扩展提供了面向对象和过程两种接口,面向对象方式结构清晰、易于维护,支持预处理语句以防止SQL注入。
1、确认php.ini中已启用mysqli扩展:取消extension=mysqli前的分号注释。
2、在PHP文件中声明连接参数:$host = 'localhost'; $username = 'root'; $password = ''; $database = 'test_db';
立即学习“PHP免费学习笔记(深入)”;
3、创建MySQLi对象并检查连接状态:$conn = new mysqli($host, $username, $password, $database); if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); }
4、执行查询语句示例:$result = $conn->query("SELECT * FROM users");
5、关闭连接:$conn->close();
二、使用PDO方式连接
PDO提供统一的数据访问接口,支持多种数据库驱动,具备更好的可移植性与异常处理能力。
1、确认php.ini中已启用pdo和pdo_mysql扩展:取消extension=pdo与extension=pdo_mysql前的分号注释。
2、设置DSN字符串:$dsn = "mysql:host=localhost;dbname=test_db;charset=utf8mb4";
3、使用try-catch捕获连接异常:$pdo = new PDO($dsn, 'root', '', [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);
4、执行带参数的查询(防注入):$stmt = $pdo->prepare("SELECT * FROM users WHERE id = ?"); $stmt->execute([1]); $row = $stmt->fetch(PDO::FETCH_ASSOC);
5、断开连接:$pdo = null;
三、使用MySQLi过程式方式连接
过程式风格适合简单脚本或遗留项目迁移,语法更接近传统PHP函数调用习惯。
1、调用mysqli_connect函数建立连接:$conn = mysqli_connect('localhost', 'root', '', 'test_db');
2、检测连接是否成功:if (!$conn) { die("连接失败: " . mysqli_connect_error()); }
3、设置字符集避免中文乱码:mysqli_set_charset($conn, "utf8mb4");
4、执行插入操作示例:$sql = "INSERT INTO users (name, email) VALUES ('张三', 'zhang@example.com')"; mysqli_query($conn, $sql);
5、释放结果集并关闭连接:mysqli_close($conn);
四、配置数据库连接文件复用
将数据库连接逻辑封装为独立文件,便于多处调用与统一管理,减少硬编码风险。
1、新建config.php文件,写入连接代码并返回连接实例。
2、在其他PHP文件中引入该配置:require_once 'config.php';
3、确保config.php中不直接输出内容或执行业务逻辑,仅返回连接对象。
4、在config.php末尾添加:return $conn; // 或 return $pdo;
5、在调用文件中接收返回值:$db = require_once 'config.php';











