>[success] 先引入命名空间 `use sys\Pdo;`
## 查询操作(查)
获取 `users` 表的单个用户信息。
~~~
$stmt = Pdo::query(
'SELECT * FROM `users` WHERE uid = :uid',
[
'uid' => $uid,
]
);
return $stmt->fetchObject();
~~~
获取 `users` 表的所有信息。
~~~
$stmt = Pdo::query('SELECT * FROM `users`');
return $stmt->fetchAll();
~~~
>[info] query方法返回的结果集是一个 sys\pdo\Statement 类,与PHP的 PDOStatement 类的方法与属性完全一至,你可以直接当做 PDOStatement 类来使用,PDOStatement 类的详细文档:http://php.net/manual/zh/class.pdostatement.php
## 写入操作(增、删、改)
插入一条用户信息。
~~~
$insertID = Pdo::execute(
'INSERT INTO `users`(`user_name`, `phone`, `credits`) VALUES(:user_name, :phone, :credits)',
[
'user_name' => '小华',
'phone' => '18600000000',
'credits' => 0,
]
);
~~~
>[info] execute方法会返回受影响的行数,如果是 insert 语句会返回 InsertID。
## 返回一个包含结果集中所有行的数组
~~~
$stmt = Pdo::query('SELECT * FROM `users`');
echo $stmt->fetchAll();
~~~
> pdo.attribute 配置项可配置默认返回的是数组还是对象。
## 从结果集中获取下一行
~~~
$stmt = Pdo::query('SELECT * FROM `users`');
echo $stmt->fetch();
~~~
> pdo.attribute 配置项可配置默认返回的是数组还是对象。
## 获取下一行并作为一个对象返回
~~~
$stmt = Pdo::query('SELECT * FROM `users`');
echo $stmt->fetchObject();
~~~
## 返回受上一个 `SQL` 语句影响的行数
~~~
$stmt = Pdo::query('SELECT * FROM `users`');
echo $stmt->rowCount();
~~~
## 返回最后执行的 `SQL` 语句
~~~
Pdo::query('SELECT * FROM `users`');
echo Pdo::getLastSql();
~~~