php workshop ‹#› php data object (pdo). php workshop ‹#› what is pdo? pdo is a php extension...

24
PHP Workshop 1 PHP Data Object (PDO)

Upload: valentine-thornton

Post on 13-Dec-2015

242 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: PHP Workshop ‹#› PHP Data Object (PDO). PHP Workshop ‹#› What is PDO? PDO is a PHP extension to formalise PHP's database connections by creating a uniform

PHP Workshop 1

PHP Data Object (PDO)

Page 2: PHP Workshop ‹#› PHP Data Object (PDO). PHP Workshop ‹#› What is PDO? PDO is a PHP extension to formalise PHP's database connections by creating a uniform

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 Workshop ‹#› PHP Data Object (PDO). PHP Workshop ‹#› What is PDO? PDO is a PHP extension to formalise PHP's database connections by creating a uniform

PHP Workshop 3

Why use PDO? • Portability

• Performance

• Power

• Easy

• Runtime Extensible

Page 4: PHP Workshop ‹#› PHP Data Object (PDO). PHP Workshop ‹#› What is PDO? PDO is a PHP extension to formalise PHP's database connections by creating a uniform

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 Workshop ‹#› PHP Data Object (PDO). PHP Workshop ‹#› What is PDO? PDO is a PHP extension to formalise PHP's database connections by creating a uniform

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 Workshop ‹#› PHP Data Object (PDO). PHP Workshop ‹#› What is PDO? PDO is a PHP extension to formalise PHP's database connections by creating a uniform

PHP Workshop 6

Connect to MySQL

Page 7: PHP Workshop ‹#› PHP Data Object (PDO). PHP Workshop ‹#› What is PDO? PDO is a PHP extension to formalise PHP's database connections by creating a uniform

PHP Workshop 7

Connect to SQLite (file)

Page 8: PHP Workshop ‹#› PHP Data Object (PDO). PHP Workshop ‹#› What is PDO? PDO is a PHP extension to formalise PHP's database connections by creating a uniform

PHP Workshop 8

Connect to SQLite (memory)

Page 9: PHP Workshop ‹#› PHP Data Object (PDO). PHP Workshop ‹#› What is PDO? PDO is a PHP extension to formalise PHP's database connections by creating a uniform

PHP Workshop 9

Connect to Oracle

Page 10: PHP Workshop ‹#› PHP Data Object (PDO). PHP Workshop ‹#› What is PDO? PDO is a PHP extension to formalise PHP's database connections by creating a uniform

PHP Workshop 10

Connect to ODBC

Page 11: PHP Workshop ‹#› PHP Data Object (PDO). PHP Workshop ‹#› What is PDO? PDO is a PHP extension to formalise PHP's database connections by creating a uniform

PHP Workshop 11

Close a Database Connection

Page 12: PHP Workshop ‹#› PHP Data Object (PDO). PHP Workshop ‹#› What is PDO? PDO is a PHP extension to formalise PHP's database connections by creating a uniform

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 Workshop ‹#› PHP Data Object (PDO). PHP Workshop ‹#› What is PDO? PDO is a PHP extension to formalise PHP's database connections by creating a uniform

PHP Workshop 13

PDO Query (INSERT)

Page 14: PHP Workshop ‹#› PHP Data Object (PDO). PHP Workshop ‹#› What is PDO? PDO is a PHP extension to formalise PHP's database connections by creating a uniform

PHP Workshop 14

PDO Query (UPDATE)

Page 15: PHP Workshop ‹#› PHP Data Object (PDO). PHP Workshop ‹#› What is PDO? PDO is a PHP extension to formalise PHP's database connections by creating a uniform

PHP Workshop 15

PDO Query (SELECT)

Page 16: PHP Workshop ‹#› PHP Data Object (PDO). PHP Workshop ‹#› What is PDO? PDO is a PHP extension to formalise PHP's database connections by creating a uniform

PHP Workshop 16

Error Handling (1)

Page 17: PHP Workshop ‹#› PHP Data Object (PDO). PHP Workshop ‹#› What is PDO? PDO is a PHP extension to formalise PHP's database connections by creating a uniform

PHP Workshop 17

Error Handling (2)

Page 18: PHP Workshop ‹#› PHP Data Object (PDO). PHP Workshop ‹#› What is PDO? PDO is a PHP extension to formalise PHP's database connections by creating a uniform

PHP Workshop 18

Error Handling (3)

Page 19: PHP Workshop ‹#› PHP Data Object (PDO). PHP Workshop ‹#› What is PDO? PDO is a PHP extension to formalise PHP's database connections by creating a uniform

PHP Workshop 19

Error Handling (4)

Page 20: PHP Workshop ‹#› PHP Data Object (PDO). PHP Workshop ‹#› What is PDO? PDO is a PHP extension to formalise PHP's database connections by creating a uniform

PHP Workshop 20

Prepared statements

Page 21: PHP Workshop ‹#› PHP Data Object (PDO). PHP Workshop ‹#› What is PDO? PDO is a PHP extension to formalise PHP's database connections by creating a uniform

PHP Workshop 21

Transactions

Page 22: PHP Workshop ‹#› PHP Data Object (PDO). PHP Workshop ‹#› What is PDO? PDO is a PHP extension to formalise PHP's database connections by creating a uniform

PHP Workshop 22

Get Last Insert Id

Page 23: PHP Workshop ‹#› PHP Data Object (PDO). PHP Workshop ‹#› What is PDO? PDO is a PHP extension to formalise PHP's database connections by creating a uniform

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 Workshop ‹#› PHP Data Object (PDO). PHP Workshop ‹#› What is PDO? PDO is a PHP extension to formalise PHP's database connections by creating a uniform

PHP Workshop 24

Questions