php pdo的用法,PHP PDO 简单使用教程

PDO 是 PHP 中用来访问数据库的一个轻量型的接口,相比起 Mysqlli 来说,PDO 可支持更多种的数据库,而 Mysqli 只支持 Mysql。通过 PDO 可实现使用同样的方法来访问不同的数据库,如果您建站初期使用的是 Mysql,但后期需要更换数据库的话,只需要修改一些配置信息,不用修改类和方法就可以实现更换数据库。

连接数据库

PHP代码:<?php

const DATABASE_TYPE = 'mysql'; // 数据库类型

const DATABASE_SERVER = '127.0.0.1'; // 服务器地址

const DATABASE_NAME = 'bbs'; // 要连接的数据库名称

const USER_NAME = 'root'; // 数据库用户名

const PASSWORD = 'root'; // 数据库密码

const DSN = DATABASE_TYPE . ':host=' . DATABASE_SERVER . ';dbname=' . DATABASE_NAME; // 数据源

try {

$pdo = new PDO(DSN, USER_NAME,PASSWORD); // 创建PDO对象

}catch (PDOexception $e) {

echo $e->getMessage(); // 输出异常信息

}

上面的 DSN 常量是一个包含了数据库种类、数据库主机名、数据库名称 的字符串,下面是不使用拼接的写法:const DSN = 'mysql:host=127.0.0.1;dbname=bbs';

除了上面的写法外,也还有其他的写法,在 PHP 的官网教程中有说明,不过感觉这种写法用的要多一些。

PDO() 对象 PDO 是操作数据库必须的一个对象,它包含了一系列的操作数据库的方法,下面是参数说明:参数类型说明dsnstring包含了 数据库种类、数据库主机名、数据库名称的数据源

userNamestring数据库用户名

passwordstring数据库密码

插入 & 删除 & 修改

PHP代码:sql = "INSERT INTO user (userName, password) VALUES ('Charlie', '123456')"; // SQL语句

$result = $pdo->exec($sql); // 执行插入

echo $result; // 输出受影响的行数

exec() 方法 exec 执行 SQL 语句,返回受影响的行数。参数类型说明sqlstring要执行的SQL语句

exec 方法 还可以用于修改和删除数据,代码如下:

PHP代码:// 把Charlie的密码修改为000000

$sql = "UPDATE user SET password = '000000' WHERE userName = 'Charlie'"; // SQL语句

$result = $pdo->exec($sql); // 执行修改

echo $result; // 输出受影响的行数

删除和修改都差不多,只是 SQL 语句不一样,这里就不写了。

查询

下面是查询的 PHP 代码:

PHP代码:// 查询出user表的所有数据

$sql = "SELECT * FROM user"; // SQL语句

$data = $pdo->query($sql); // 执行查询语句

if ($data->rowCount() > 0) { // 判断查询到的行数是否大于0

$dataArr = $data->fetchAll(); // 把所有查询到的数据转换为数组

print_r($dataArr); // 输出数组

}else {

echo '未能查询到数据!';

}

查询到的数据:Array

(

[0] => Array

(

[id] => 1

[0] => 1

[userName] => John

[1] => John

[password] => 123456

[2] => 123456

)

[1] => Array

(

[id] => 2

[0] => 2

[userName] => George

[1] => George

[password] => 123456

[2] => 123456

)

[2] => Array

(

[id] => 3

[0] => 3

[userName] => Charlie

[1] => Charlie

[password] => 000000

[2] => 000000

)

)

user 表:iduserNamepassword1John123456

2George123456

3Charlie000000

query() 方法 query 执行 SQL 语句,返回 PDOStatement 对象,可以理解为结果集。下面是 query 的参数:参数类型说明sqlstring要执行的SQL语句

PDOStatement 对象中又有一些方法:

rowCount() 方法 获取返回的行数,这个方法在一些数据库可能用不了,但在 Mysql 可以用。

fetchAll() 方法 返回一个包含结果集中所有行的数组,也就是把查询到的所有行转换为数组。

fetch() 方法 从结果集中获取下一行,如果只查询一行数据的话,就比较适合用这个方法。

下面是通过 fetch 方法 获取数据:

PHP代码:// 查询出user表的所有数据

$sql = "SELECT * FROM user"; // SQL语句

$data = $pdo->query($sql); // 执行查询语句

$dataArr = $data->fetch(); // 获取一行

print_r($dataArr); // 输出数组

查询结果:Array

(

[id] => 1

[0] => 1

[userName] => John

[1] => John

[password] => 123456

[2] => 123456

)

通过 fetch 方法 无论查询到多少行都只会获取一行。

以上就是 PHP PDO 最基本的增、删、改、查,如果要查看 PDO 的所有内容可以访问 PHP 官网。

相关文章:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值