我们可以通过PHP操作数据库。
在学习PHP需要哪些准备?这一节我们就通过宝塔已经准备好了LNMP环境,其中M指的就是MySQL。读者如果不熟悉MySQL的一些基本知识可以跳转MySQL教程自行学习。
熟悉数据库的读者可以往这里看了。这里我将演示通过PHP PDO(php database object)来操作我们的数据库(PDO面向对象操作,简单容易上手)。
PDO可以理解为一个PHP内置对象,然后我们通过该对象内置方法来连接我们的数据库,完成创建表格、增添数据、查询数据等功能。看不懂代码也没关系,将数据库信息进行相应替换(数据库名、用户名、密码之类的),然后放到一个.php文件里并运行,您既可以在网页上也可以在终端上看到效果。
<?php
/* 通过PDO连接数据库 */
// 1. 数据库配置(改成你自己的)
$host = '127.0.0.1'; // 数据库地址
$dbname = 'dotcpp'; // 数据库名
$username = 'dotcpp'; // 用户名
$password = 'dotcpp'; // 密码(如果没密码就留空)
// 2. 连接数据库
$pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);//通过PDO对象连接数据库
// 3. 创建 dotcpp_ret 表格
$sql = "
CREATE TABLE IF NOT EXISTS dotcpp_users (
id INT AUTO_INCREMENT PRIMARY KEY,
nickName VARCHAR(50) NOT NULL,
signature VARCHAR(255),
grade INT DEFAULT 1,
degree VARCHAR(50),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)
";
$pdo->exec($sql);//exec()执行不返回结果的sql语句,这里我们是创建表格,所以使用exec()
// 4. 插入测试数据
$sql = "INSERT INTO dotcpp_ret (nickName, signature, grade, degree)
VALUES
('dotcpp_user01', 'coding', 100, 'p1'),
('dotcpp_user02', 'coding', 100, 'p1'),
('dotcpp_user03', 'coding', 100, 'p1')";
$pdo->exec($sql);//插入3个用户信息
// 5. 查询显示数据
$sql = "SELECT * FROM dotcpp_ret";//准备查询获取dotcpp_ret用户信息
$process = $pdo->query($sql);//进行sql查询信息
$ret = $process->fetchAll(PDO::FETCH_ASSOC);//通过fetchAll获取所有数据,通过PDO::FETCH_ASSOC来指定数据格式是“字段->值”的关联数组
foreach ($ret as $user) {
echo "ID: {$user['id']} | 昵称: {$user['nickName']} | 签名: {$user['signature']} | 年级: {$user['grade']} | 学位: {$user['degree']}<br>";
}
//6. 关闭数据库
$pdo=null;
?>以上6步基本就能够体验PHP操作数据库的感觉了。
我们技能在test.php看到我们插入的数据,也能在DOS窗口查看我们插入的数据。

打开终端,进入MySQL,然后查看有没有dotcpp_users表:

总结:通过PHP操作数据库,实现了数据持久化和程序与数据分离的核心价值。它让程序逻辑专注于业务处理,而将数据存储交给专门的数据库管理系统,这样既确保了数据的长期保存和高效管理,又使得程序结构更清晰、易于维护和扩展。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程