CentOS 下 php PDO:轻松搞定数据库连接
嘿,新手小白们!是不是一听到“CentOS”“PHP”“PDO”这些词就头大?别慌,今天就用咱通俗易懂的大白话,带你把这玩意儿弄明白,不管你之前对数据库连接是一窍不通,还是只懂点皮毛,看完这篇,保准你能上手操作,开启你的编程小天地。

啥是 CentOS、PHP 和 PDO?🤔
先唠唠 CentOS,它就是个操作系统,就像你电脑的“管家”,管着各种软件能顺畅运行,为啥选它?稳定、开源还免费,好多服务器都用它,咱学习也方便。
PHP 呢,是一种编程语言,专门用来做网页开发,想象一下,你浏览的酷炫网页,背后说不定就有 PHP 在“出力”,它能和数据库打交道,动态生成网页内容,厉害吧?
重点来啦,PDO(PHP Data Objects)!它就像是 PHP 和数据库沟通的“翻译官”,以前 PHP 连接数据库方式老多,各有各的“脾气”,学起来麻烦,有了 PDO,不管啥数据库,MySQL、SQLite 还是别的,都能用一套方法操作,简单高效,维护也省心,简直就是咱新手的福音。
为啥要用 PDO?😎
1、兼容性超棒:不用为不同数据库写不同代码,换数据库时,改几个配置就行,省时省力。

2、安全性升级:自带预防 SQL 注入功能,这在网络世界可太重要了,能护住咱的数据安全。
3、面向对象,好理解:符合现代编程思维,对于新手,比传统方式好上手,代码也更清晰有条理。
咋在 CentOS 上安装 PHP 和 PDO 模块🛠️
第一步:更新系统软件包
打开终端,输入这行命令:
- sudo yum update y
这步就是让系统“进货”,把最新的软件版本都准备好,免得后续装东西出岔子。
第二步:安装 PHP
再来一行命令:

- sudo yum install y php phpmysqlnd
“phpmysqlnd”PHP 连接 MySQL 数据库的“神器”,装了它才能顺利用 PDO 连 MySQL。
第三步:验证安装
输入:
- php v
要是看到 PHP 的版本号蹦出来,那就说明安装成功啦,简单不?🎉
写个简单的 PDO 例子📝
创建数据库和表
先在 MySQL 里建个数据库和表,假设数据库叫“test_db”,表叫“users”,有“id”“name”“age”三列,登录 MySQL 客户端(用mysql u 用户名 p
),敲这些命令:
- CREATE DATABASE test_db;
- USE test_db;
- CREATE TABLE users (
- id INT AUTO_INCREMENT PRIMARY KEY,
- name VARCHAR(50),
- age INT
- );
写 PHP 脚本连接数据库并操作
新建个connect.php
文件,输入以下代码:
- <?php
- // 试试能不能连上数据库
- try {
- $dsn = 'mysql:host=localhost;dbname=test_db'; // 数据源名称,本地数据库地址和名字
- $user = '你的数据库用户名';
- $password = '你的数据库密码';
- $options = [
- PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, // 出错就抛出异常,方便调试
- PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC // 默认抓取关联数组格式数据
- ];
- $pdo = new PDO($dsn, $user, $password, $options);
- echo "数据库连接成功!";
- } catch (PDOException $e) {
- die("数据库连接失败: " . $e>getMessage());
- }
- // 插入一条数据
- try {
- $sql = 'INSERT INTO users (name, age) VALUES (?, ?)';
- $stmt = $pdo>prepare($sql);
- $stmt>execute(['张三', 25]);
- echo "数据插入成功!";
- } catch (PDOException $e) {
- die("数据插入失败: " . $e>getMessage());
- }
- // 查询数据
- try {
- $sql = 'SELECT * FROM users';
- $stmt = $pdo>query($sql);
- while ($row = $stmt>fetch()) {
- echo "ID: " . $row['id'] . ", Name: " . $row['name'] . ", Age: " . $row['age'] . "<br>";
- }
- } catch (PDOException $e) {
- die("数据查询失败: " . $e>getMessage());
- }
- ?>
把“你的数据库用户名”“你的数据库密码”换成你自己的,这段代码干了啥呢?先是连数据库,连上了就插入一条新数据,再把所有用户信息查出来显示在网页上,简单改改参数,就能玩出不少花样。
处理错误咋整😅
PDO 出错有两种方式:一是像上面代码那样用try...catch
块捕获异常;二是设置 PDO 的错误模式属性,
PDO::ERRMODE_SILENT
:啥都不显示,默默记错,适合生产环境不想暴露信息给用户时。
PDO::ERRMODE_WARNING
:发个警告消息,开发测试时好用,提醒你出错了。
PDO::ERRMODE_EXCEPTION
:直接抛异常,中断程序执行,调试代码特方便。
我个人推荐新手用ERRMODE_EXCEPTION
,出错一目了然,改起来快。
防止 SQL 注入咋防🛡️
这是大事儿!PDO 自带防注入功能,只要用参数化查询就行,像上面插入数据那,问号占位,执行时再传值,这样用户输入啥奇葩内容,都不会影响 SQL 语句结构,安全有保障,千万别图省事,自己拼 SQL 字符串,那可是给黑客留“后门”呢。
举个例子对比下:
不安全做法(别学):
- $name = $_POST['name'];
- $age = $_POST['age'];
- $sql = "INSERT INTO users (name, age) VALUES ('$name', $age)";
- $pdo>exec($sql);
用户输点特殊字符,就可能搞出大乱子。
安全做法(得学):
- $sql = 'INSERT INTO users (name, age) VALUES (?, ?)';
- $stmt = $pdo>prepare($sql);
- $stmt>execute([$_POST['name'], $_POST['age']]);
这样,任凭用户咋折腾,咱数据库都稳如泰山。
归纳几句心里话🤗
CentOS 下用 PHP 的 PDO 连接数据库,真的没那么难,从安装到实际操作,一步步来,多练练手,PDO 的好处多多,以后做项目,不管是网站后台、APP 后端,它都是得力助手,别怕出错,编程就是不断试错的过程,遇到难题,网上大把资源,技术论坛、官方文档,多逛逛,总能找到解决办法,等你玩熟了,说不定还能琢磨出更炫酷的玩法,加油干吧,编程的世界大门已经为你敞开啦!