Debian PHP PDO介紹
PHP Data Objects,簡稱PDO,是PHP的一種數據庫拓展,提供了一組封裝的接口,可以讓我們使用相同的函數接口來訪問各種關系數據庫。
Debian系統自帶了MySQL和SQLite數據庫,但是我們需要手動安裝PHP對應的pdo_mysql和pdo_sqlite拓展。
下面通過舉例來介紹PDO在Debian系統中的應用。
連接數據庫
要使用PDO連接數據庫,我們需要指定數據庫類型、主機名、庫名、用戶名、密碼等信息。
例如我們要連接MySQL數據庫:
```php
$dsn = 'mysql:host=127.0.0.1;port=3306;dbname=test;charset=utf8';
$user = 'root';
$pass = '123456';
$options = array(PDO::ATTR_DEFAULT_FETCH_MODE =>PDO::FETCH_ASSOC);
try {
$pdo = new PDO($dsn, $user, $pass, $options);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
```
我們可以看到,$dsn是用來記錄數據庫連接信息的,包括了主機名、端口號、庫名和字符編碼等。$options是一個關聯數組,可以設置PDO的工作模式,這里我們設置了返回數據的模式為數組(PDO::FETCH_ASSOC)。
查詢數據
查詢數據是PDO最常用的功能之一。
我們可以通過PDO的query方法來執行SQL查詢語句,例如:
```php
$stmt = $pdo->query('SELECT * FROM users');
while ($row = $stmt->fetch()) {
echo $row['name'], "\n";
}
```
上述示例執行了一條查詢所有用戶數據的SQL語句,并通過fetch方法依次獲取每一行的數據。
插入數據
插入數據是PDO的另一項常用功能。
我們可以通過PDO的prepare方法來編譯SQL語句,并使用bindParam方法綁定變量,最后通過execute方法執行SQL語句,例如:
```php
$stmt = $pdo->prepare('INSERT INTO users (name, email) VALUES (:name, :email)');
$stmt->bindParam(':name', $name);
$stmt->bindParam(':email', $email);
$name = '張三';
$email = 'zhangsan@example.com';
$stmt->execute();
```
上述示例插入了一條數據到users表,其中bindParam方法可用于避免SQL注入攻擊。
更新數據
更新數據是PDO的另一個常用功能。
我們可以通過PDO的exec方法來執行SQL更新語句,例如:
```php
$count = $pdo->exec("UPDATE users SET email='newemail@example.com' WHERE name='張三'");
echo $count;
```
上述示例更新了users表中所有name為"張三"的行的email字段。
刪除數據
刪除數據是PDO的另一個常用功能。
我們可以通過PDO的exec方法來執行SQL刪除語句,例如:
```php
$count = $pdo->exec("DELETE FROM users WHERE name='張三'");
echo $count;
```
上述示例刪除了users表中所有name為"張三"的行。
總結
通過以上示例我們可以看到,PDO是一個功能強大的數據庫訪問接口,能夠方便地操作各種關系數據庫。
在Debian系統上,我們只需要手動安裝PDO對應的拓展,并按照PDO提供的API編寫代碼,就能方便地完成對數據庫的操作。
上一篇python的sql包
下一篇python的mvc框架