使用 php 数据对象 (pdo) 建立面向对象式 php 数据库连接,提供了一个与各种数据库交互的统一界面。pdo 连接的建立需要一个数据源名称 (dsn)、用户名和密码。使用 query() 方法执行 sql 查询,fetchall() 方法获取结果。实战案例展示了如何将 php 表单连接到 mysql 数据库并插入数据。
使用 PDO 建立面向对象式 PHP 数据库连接
面向对象式 PHP 数据库连接使用 PHP 数据对象 (PDO) 类库,它为与各种数据库进行交互提供了一个统一的界面。使用 PDO,您可以以面向对象的方式访问数据库,这使得代码更易于组织和维护。
建立 PDO 连接
要建立一个 PDO 连接,需要使用 PDO 构造函数。此构造函数接受以下参数:
- 数据源名称 (DSN):指定数据库服务器、数据库名称和其他特定于数据库的连接信息。DSN 的格式因数据库类型而异。
- 用户名:连接到数据库的用户名。
- 密码:连接到数据库的密码。
$dsn = 'mysql:host=localhost;dbname=my_database'; $username = 'root'; $password = ''; try { $pdo = new PDO($dsn, $username, $password); } catch (PDOException $e) { echo 'Connection failed: ' . $e->getMessage(); die(); }
执行查询
可以使用 query() 方法执行 SQL 查询。此方法返回一个 PDOStatement 对象,该对象表示查询结果。
$sql = 'SELECT * FROM users WHERE name LIKE ?'; $stmt = $pdo->prepare($sql); $stmt->execute(['%joh%']);
获取结果
可以通过 fetchAll() 方法获取查询结果。此方法返回一个结果数组,其中每个元素都是一个关联数组。
$users = $stmt->fetchAll(PDO::FETCH_ASSOC);
实战案例
考虑一个基本的 PHP 表单,其中用户可以输入他们的姓名并将其插入数据库中。我们使用 PDO 将此表单连接到 MySQL 数据库。
<!-- form.php --> <form action="submit.php" method="post"> <label for="name">姓名:</label> <input type="text" id="name" name="name"> <input type="submit" value="提交"> </form>
// submit.php $dsn = 'mysql:host=localhost;dbname=my_database'; $username = 'root'; $password = ''; try { $pdo = new PDO($dsn, $username, $password); } catch (PDOException $e) { echo 'Connection failed: ' . $e->getMessage(); die(); } $name = $_POST['name']; $sql = 'INSERT INTO users (name) VALUES (?)'; $stmt = $pdo->prepare($sql); $stmt->execute([$name]); header('Location: success.php');
<!-- success.php --> <h1>成功!</h1> <p>您的姓名已添加到数据库中。</p>
这个例子演示了如何使用 PDO 将 PHP 表单连接到 MySQL 数据库并插入数据。