从零开始:PHP基础教程系列
第12篇:数据库基础与PDO使用
一、数据库基础
数据库是存储和管理数据的系统。常见的数据库管理系统(DBMS)包括MySQL、PostgreSQL、SQLite等。数据库通常使用SQL(结构化查询语言)进行数据的操作和管理。
1. 数据库的基本概念
- 表:数据库中的数据以表的形式存储,表由行和列组成。
- 行:每一行代表一条记录。
- 列:每一列代表记录的一个属性。
- 主键:唯一标识每一行的字段,确保记录的唯一性。
2. 常用的SQL操作
创建数据库:
CREATE DATABASE my_database;
创建表:
CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(100),email VARCHAR(100) );
插入数据:
INSERT INTO users (name, email) VALUES ('张三', 'zhangsan@example.com');
查询数据:
SELECT * FROM users;
更新数据:
UPDATE users SET email = 'newemail@example.com' WHERE id = 1;
删除数据:
DELETE FROM users WHERE id = 1;
二、使用PDO连接数据库
PDO(PHP Data Objects)是PHP中的一个数据库抽象层,提供了一种统一的方式来访问多种数据库。使用PDO可以提高代码的可移植性和安全性。
1. 安装PDO扩展
确保您的PHP环境中启用了PDO扩展。可以在php.ini文件中检查并启用:
extension=pdo_mysql
2. 创建PDO连接
使用以下代码连接到MySQL数据库:
<?php
$dsn = 'mysql:host=localhost;dbname=my_database;charset=utf8';
$username = 'your_username';
$password = 'your_password';try {$pdo = new PDO($dsn, $username, $password);$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);echo "连接成功";
} catch (PDOException $e) {echo "连接失败: " . $e->getMessage();
}
?>
三、使用PDO进行CRUD操作
1. 创建(Insert)
<?php
$sql = "INSERT INTO users (name, email) VALUES (:name, :email)";
$stmt = $pdo->prepare($sql);$name = '李四';
$email = 'lisi@example.com';
$stmt->bindParam(':name', $name);
$stmt->bindParam(':email', $email);
$stmt->execute();echo "新记录插入成功";
?>
2. 读取(Select)
<?php
$sql = "SELECT * FROM users";
$stmt = $pdo->query($sql);while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {echo "ID: " . $row['id'] . " - Name: " . $row['name'] . " - Email: " . $row['email'] . "<br>";
}
?>
3. 更新(Update)
<?php
$sql = "UPDATE users SET email = :email WHERE name = :name";
$stmt = $pdo->prepare($sql);$name = '李四';
$email = 'lisi_new@example.com';
$stmt->bindParam(':name', $name);
$stmt->bindParam(':email', $email);
$stmt->execute();echo "记录更新成功";
?>
4. 删除(Delete)
<?php
$sql = "DELETE FROM users WHERE name = :name";
$stmt = $pdo->prepare($sql);$name = '李四';
$stmt->bindParam(':name', $name);
$stmt->execute();echo "记录删除成功";
?>
四、PDO的安全性
使用PDO的预处理语句可以有效防止SQL注入攻击。通过使用绑定参数,用户输入的内容不会直接嵌入到SQL语句中,从而提高了安全性。
五、小结
在本篇文章中,我们介绍了数据库的基础知识及如何使用PDO进行数据库操作。掌握PDO的使用将使您能够安全、高效地与数据库进行交互。
在下一篇文章中,我们将探讨PHP中的常用设计模式,进一步提升您的编程能力。继续保持学习的热情,迈向更高的PHP编程水平! 奥顺互联原创文章,转载请注明出处!