PHP PDO Example

PDO - PHP Data Objects - is a database access layer providing a uniform method of access to multiple databases. This tutorial isn’t meant to be a complete how-to on SQL. It’s written primarily for people currently using the mysql or mysqli extension to help them make the jump to the more portable and powerful PDO.
<?php
// Official documentation: http://php.net/manual/en/book.pdo.php
/* Class that we will use to hold our data */
class Employee {
private $last_name;
private $first_name;
private $salary;
public function getFirstName(){ return $this->first_name; }
public function getLastName(){ return $this->last_name; }
public function getSalary(){ return $this->salary; }
public function getYearlySalary(){ return $this->salary * 12; }
}
/* Create main PDO object */
$dsn = "mysql:host=127.0.0.1;dbname=hr;charset=utf8mb4";
$pdo = new PDO($dsn, 'hr_user', 'secretpassword');
/* Execute a prepared statement by binding PHP variables */
$emp_id = 99;
$emp_lastname = 'King';
$stmt = $pdo->prepare('SELECT first_name, last_name, salary FROM employees
WHERE employee_id > :emp_id AND last_name = :emp_lastname');
/* Bind the variables (note that we specify the type) */
$stmt->bindParam(':emp_id', $emp_id);
$stmt->bindParam(':emp_lastname', $emp_lastname);
/* Execute the statement */
$stmt->execute();
/* Get all rows - note that this array will contain "Employee" objects */
$result = $stmt->fetchAll(PDO::FETCH_CLASS, 'Employee');
/* Go over each of the rows */
echo "<ul>";
foreach($result as $employee) {
// var_dump($employee);
printf("<li>first_name: %s, last_name: %s, salary: %.2f</li>",
$employee->getFirstName(), $employee->getLastName(), $employee->getSalary());
}
echo "</ul>";
?>