php data object (pdo)

24
PHP Workshop 1 PHP Data Object (PDO)

Upload: xena-lancaster

Post on 31-Dec-2015

189 views

Category:

Documents


17 download

DESCRIPTION

PHP Data Object (PDO). What is PDO?. PDO is a PHP extension to formalise PHP's database connections by creating a uniform interface. This allows developers to create code which is portable across many databases and platforms. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: PHP Data Object (PDO)

PHP Workshop 1

PHP Data Object (PDO)

Page 2: PHP Data Object (PDO)

PHP Workshop 2

What is PDO?

• PDO is a PHP extension to formalise PHP's database connections by creating a

uniform interface. This allows developers to create code which is portable across

many databases and platforms.

• PDO is not just another abstraction layer like PEAR DB or ADOdb.

Page 3: PHP Data Object (PDO)

PHP Workshop 3

Why use PDO? • Portability

• Performance

• Power

• Easy

• Runtime Extensible

Page 4: PHP Data Object (PDO)

PHP Workshop 4

What databases does it support?

• Microsoft SQL Server / Sybase

• Firebird / Interbase

• DB2 / INFORMIX (IBM)

• MySQL

• OCI (Oracle Call Interface)

• ODBC

• PostgreSQL

• SQLite

Page 5: PHP Data Object (PDO)

PHP Workshop 5

DSNs

• In general

drivername:<driver-specific-stuff>

• mysql:host=name;dbname=dbname

• odbc:odbc_dsn

• oci:dbname=dbname;charset=charset

• sqlite:/path/to/db/file

• sqlite::memory:

Page 6: PHP Data Object (PDO)

PHP Workshop 6

Connect to MySQL

Page 7: PHP Data Object (PDO)

PHP Workshop 7

Connect to SQLite (file)

Page 8: PHP Data Object (PDO)

PHP Workshop 8

Connect to SQLite (memory)

Page 9: PHP Data Object (PDO)

PHP Workshop 9

Connect to Oracle

Page 10: PHP Data Object (PDO)

PHP Workshop 10

Connect to ODBC

Page 11: PHP Data Object (PDO)

PHP Workshop 11

Close a Database Connection

Page 12: PHP Data Object (PDO)

PHP Workshop 12

Persistent PDO Connection

• Connection stays alive between requests

$dbh = new PDO($dsn, $user, $pass,array(

PDO_ATTR_PERSISTENT => true)

);

Page 13: PHP Data Object (PDO)

PHP Workshop 13

PDO Query (INSERT)

Page 14: PHP Data Object (PDO)

PHP Workshop 14

PDO Query (UPDATE)

Page 15: PHP Data Object (PDO)

PHP Workshop 15

PDO Query (SELECT)

Page 16: PHP Data Object (PDO)

PHP Workshop 16

Error Handling (1)

Page 17: PHP Data Object (PDO)

PHP Workshop 17

Error Handling (2)

Page 18: PHP Data Object (PDO)

PHP Workshop 18

Error Handling (3)

Page 19: PHP Data Object (PDO)

PHP Workshop 19

Error Handling (4)

Page 20: PHP Data Object (PDO)

PHP Workshop 20

Prepared statements

Page 21: PHP Data Object (PDO)

PHP Workshop 21

Transactions

Page 22: PHP Data Object (PDO)

PHP Workshop 22

Get Last Insert Id

Page 23: PHP Data Object (PDO)

PHP Workshop 23

BenchmarkMySQL SELECT Benchmark Results, 1000 Requests

Library Concurrency Total Time Requests/Sec. Speedup

ADOdb 1 20.90/sec 47.84 -

PDO 1 0.73/sec 1358.62 +2840%

ADOdb 50 10.78/sec 99.23 -

PDO 50 0.54/sec 1850.90 +1865%

ADOdb 100 10.44/sec 95.78 -

PDO 100 0.53/sec 1869.33 +1952%

Page 24: PHP Data Object (PDO)

PHP Workshop 24

Questions