>[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();
~~~