Bueno, se podría discutir con el aspecto orientado a objetos, las declaraciones preparadas, el hecho de que se convierte en un estándar, etc. Pero sé que la mayoría de las veces, convencer a alguien funciona mejor con una característica excelente. Así que ahí está:
Una cosa realmente buena con PDO es que puede obtener los datos, inyectándolos automáticamente en un objeto. Si no desea utilizar un ORM (porque es solo un script rápido) pero te gusta el mapeo de objetos, es REALMENTE genial:
class Student {
public $id;
public $first_name;
public $last_name
public function getFullName() {
return $this->first_name.' '.$this->last_name
}
}
try
{
$dbh = new PDO("mysql:host=$hostname;dbname=school", $username, $password)
$stmt = $dbh->query("SELECT * FROM students");
/* MAGIC HAPPENS HERE */
$stmt->setFetchMode(PDO::FETCH_INTO, new Student);
foreach($stmt as $student)
{
echo $student->getFullName().'<br />';
}
$dbh = null;
}
catch(PDOException $e)
{
echo $e->getMessage();
}