This document discusses PHP Data Objects (PDO) for connecting to and interacting with databases. PDO requires PHP version 5 and uses two main objects - the PDO object represents a database connection, and PDOStatement represents prepared statements and result sets. Methods like prepare(), execute(), fetch(), and fetchAll() allow preparing and executing statements as well as retrieving result sets. Examples demonstrate using PDO for common SQL statements like SELECT, INSERT, UPDATE, and DELETE.
1 of 13
Downloaded 77 times
More Related Content
PHP - PDO Objects
1. Presented by:-
Mr. Ajinkya NaharMr. Ajinkya Nahar
Twitter - @ajinkyanaharTwitter - @ajinkyanahar
LinkedIn LinkedIn
http://in.linkedin.com/pub/ajinkya-http://in.linkedin.com/pub/ajinkya-
nahar/8/404/77bnahar/8/404/77b
2. Features
PDO requires PHP Version 5.
PDO makes use of two main objects.
Once we have established a connection to the specific
database, the methods used to access and manipulate data
are all generic, and do not require re-writing if you change
the type of database.
The PDO object itself represents a connection to the
database, and provides simple methods to execute an SQL
statement.
The PDOStatement object represents a prepared
statement, as well as a result set from an executed SQL
statement.
3. PDO Object and most useful statement
This represents a connection to the Database.
All database operations are initiated through the PDO
object. The PDO object is created when you connect to the
database.
After that, we can use its methods to access the database.
exec():-
Execute an SQL statement returning the number of rows
affected.
query() :-
Execute an SQL statement returning a result set as a
PDOStatement .
4. prepare():-
Prepares a statement returning a result set as a
PDOStatement.
We can use question marks (?) for values.
we can then call the execute(array()) method.
5. The PDOStatement represents a prepared statement, as
well as a returned result set.
PDO->query operation (where it represents a result set),
a
PDO->prepare operation (where it represents a
prepared statement) or a
PDO->execute operation (where it represents a result
set from your prepared statement)
For a prepared statement:-
execute() :-Execute the prepared statement. We can use
an array of values to replace the question mark
parameters.
Prepared Statement
6. For a result set:
fetch() :-Returns the next row.
Useful arguments: PDO::FETCH_ASSOC,
PDO::FETCH_NUM,
PDO::FETCH_BOTH (default)
fetchAll():- Returns the whole result set as an array
fetchColumn() :-Returns a single column of the next row.
7. $database = database_name';
$user = user';
$password = password';
$dsn = "mysql:host=localhost;dbname=$database";
try {
$pdo = new PDO ($dsn, $user, $password);
}
catch(PDOException $e)
{
die ('Oops'); // Exit, displaying an error message
}
Establish Connection to MySql
8. Code Examples
For SELECT query -
$sql = 'SELECT * FROM users WHERE email = ? AND
password = ?';
$pds = $pdo->prepare($sql);
$pds->execute(array(
$email,
$password
));
9. For INSERT query -
$sql = 'INSERT INTO users(email,password)
VALUES(?,?)';
$pds = $pdo->prepare($sql);
$pds->execute(array(
$email,
$password
));
10. For UPDATE query -
$sql = 'UPDATE users SET email=?, password=?
WHERE id=?';
$pds = $pdo->prepare($sql);
$pds->execute(array(
$email,
$password,
$id
));
11. For DELETE query -
$sql = 'DELETE FROM users WHERE id = ?';
$pds = $pdo->prepare($sql);
$pds->execute(array(
$id
));
12. For like query -
$sql = 'SELECT * FROM users WHERE email like ?';
$pds = $pdo->prepare($sql);
$pds->execute(array(
%$email%
));