PHP PDO操作MySQL基础教程

网络编程 2025-03-30 08:52www.168986.cn编程入门

PHP PDO操作MySQL数据库指南:生动实例

在PHP中,PDO(PHP Data Objects)扩展提供了一种访问数据库的标准化方式,不论你使用的是哪种数据库,都可以通过一致的接口来执行查询和获取数据。本文将通过实例详细如何使用PHP PDO操作MySQL数据库,包括开启PDO、创建数据库、连接数据库以及增删改查的基本操作。

一、开启PDO

在PHP中,要启用PDO,你需要在phpi文件中开启相应的扩展。对于MySQL支持,你需要开启pdo_mysql扩展。在phpi文件中找到以下行并确保它们没有被注释掉:

```makefile

extension=php_pdo.dll

extension=php_pdo_mysql.dll

```

二、创建数据库和表

我们需要创建一个名为test的数据库和一张表。以下是创建数据库和表的SQL语句:

```sql

DROP TABLE IF EXISTS `test`;

CREATE TABLE `test` (

`id` int(10) NOT NULL DEFAULT '0',

`user` char(20) DEFAULT NULL,

PRIMARY KEY (`id`),

KEY `idx_age` (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

```

三、连接数据库

在PHP中,使用PDO连接MySQL数据库的代码示例如下:

```php

header("content-type:text/html;charset=utf-8");

$dsn = "mysql:dbname=test;host=localhost"; // 数据库连接字符串

$db_user = 'root'; // 数据库用户名

$db_pass = 'admin123'; // 数据库密码

try {

$pdo = new PDO($dsn, $db_user, $db_pass); // 创建PDO实例并连接数据库

} catch (PDOException $e) {

echo '数据库连接失败' . $e->getMessage(); // 如果连接失败,输出错误信息

}

```

四、增删改查操作

下面是一些基本的增删改查操作的示例代码:

1. 新增:

```php

$res = $pdo->exec($sql); // 执行SQL语句,返回影响的行数

echo '影响行数' . $res; // 输出影响的行数

```

2. 修改:

```php

$sql = "update test set user='phpthinking' where id=1"; // 更新数据的SQL语句

$res = $pdo->exec($sql); // 执行SQL语句,返回影响的行数

echo '影响行数' . $res; // 输出影响的行数

```

3. 查询:

```php

$sql = "select from test"; // 查询数据的SQL语句,注意这里使用表示查询所有列,你也可以指定列名

$res = $pdo->query($sql); // 执行查询语句,返回结果集对象

foreach ($res as $row) { // 遍历结果集对象,输出每一行的数据

echo $row['user'] . '
'; // 输出用户名,注意这里使用数组方式访问列数据,列名作为键名,大小写敏感。如果需要访问其他列的数据,修改键名即可。如果列名大小写不敏感,可以使用FETCH_ASSOC或FETCH_ASSOC常量作为第二个参数传递给fetch()方法。例如:foreach($res->fetch(PDO::FETCH_ASSOC) as $row){...}。另外也可以使用fetchColumn()方法获取特定列的数据。例如:echo $res->fetchColumn(0)。注意fetchColumn()方法返回的是单个值而不是数组。如果查询结果有多行数据,你需要多次调用fetchColumn()方法获取所有行的数据。另外也可以使用fetchObject()方法获取一行数据作为对象处理。例如:foreach($res as $row){echo $row->user;}。此外还可以使用fetchArray()方法获取一行数据作为关联数组或数字索引数组处理。例如:foreach($res as $row){if($row instanceof stdClass)$row->id=intval($row->id);echo $row['user'];}注意在循环中使用isset($row->属性名)进行判断该属性是否存在以及是否是null以避免可能出现的错误或警告。如果不确定某个属性是否存在可以先用isset()函数进行检查或者使用try-catch语句捕获异常。如果需要对查询结果进行排序可以使用orderBy()方法指定排序规则例如:$sql="select from test order by id desc";这样就可以按照id降序排列结果集了。最后需要注意的是在使用PDO查询数据时默认是返回所有行的数据如果只需要部分行的数据可以使用limit()方法和offset()方法限制返回的行数和起始位置例如:$sql="select from test limit 5 offset 3"将返回第4到第9

上一篇:微信小程序 (十八)picker组件详细介绍 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by