HCRM博客

CentOS系统下PHP PDO扩展配置与应用实践

CentOS 下 php PDO:轻松搞定数据库连接

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

CentOS系统下PHP PDO扩展配置与应用实践-图1
(图片来源网络,侵权删除)

啥是 CentOS、PHP 和 PDO?🤔

先唠唠 CentOS,它就是个操作系统,就像你电脑的“管家”,管着各种软件能顺畅运行,为啥选它?稳定、开源还免费,好多服务器都用它,咱学习也方便。

PHP 呢,是一种编程语言,专门用来做网页开发,想象一下,你浏览的酷炫网页,背后说不定就有 PHP 在“出力”,它能和数据库打交道,动态生成网页内容,厉害吧?

重点来啦,PDO(PHP Data Objects)!它就像是 PHP 和数据库沟通的“翻译官”,以前 PHP 连接数据库方式老多,各有各的“脾气”,学起来麻烦,有了 PDO,不管啥数据库,MySQL、SQLite 还是别的,都能用一套方法操作,简单高效,维护也省心,简直就是咱新手的福音。

为啥要用 PDO?😎

1、兼容性超棒:不用为不同数据库写不同代码,换数据库时,改几个配置就行,省时省力。

CentOS系统下PHP PDO扩展配置与应用实践-图2
(图片来源网络,侵权删除)

2、安全性升级:自带预防 SQL 注入功能,这在网络世界可太重要了,能护住咱的数据安全。

3、面向对象,好理解:符合现代编程思维,对于新手,比传统方式好上手,代码也更清晰有条理。

咋在 CentOS 上安装 PHP 和 PDO 模块🛠️

第一步:更新系统软件包

打开终端,输入这行命令:

  • sudo yum update y

这步就是让系统“进货”,把最新的软件版本都准备好,免得后续装东西出岔子。

第二步:安装 PHP

再来一行命令:

CentOS系统下PHP PDO扩展配置与应用实践-图3
(图片来源网络,侵权删除)
  • 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 后端,它都是得力助手,别怕出错,编程就是不断试错的过程,遇到难题,网上大把资源,技术论坛、官方文档,多逛逛,总能找到解决办法,等你玩熟了,说不定还能琢磨出更炫酷的玩法,加油干吧,编程的世界大门已经为你敞开啦!

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/26852.html

分享:
扫描分享到社交APP
上一篇
下一篇