PODとはphp data obujectの略で、データベース接続クラスのことです。 PHPは標準でMySQLやPostgreSQLやSQLiteなど、色々なデータベースに接続するための命令が用意されています。PDOを使うことで、どのデータベースを利用する場合でも同じ関数を使うことができますので、もし将来データベースを変更することがあっても、PDOオブジェクトを作成する時に指定したパラメータだけを変更するばいいことになります。
index.php
<?php
define('DB_DATABASE', 'name_db');
define('DB_USERNAME', 'dbuser');
define('DB_PASSWORD', 'xxxx');
define('PDO_DSN', 'mysql:dbhost=localhost;dbname=' . DB_DATABASE);
try {
$db = new PDO(PDO_DSN, DB_USERNAME, DB_PASSWORD);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// insert
$db->exec("insert into users (name, score) values('yamada', 55)");
echo "user added!";
// disconnect
$db = null;
} catch (PDOException $e){
echo $e->getMessage();
exit;
}

prepared
<?php
define('DB_DATABASE', 'name_db');
define('DB_USERNAME', 'dbuser');
define('DB_PASSWORD', 'xxxx');
define('PDO_DSN', 'mysql:dbhost=localhost;dbname=' . DB_DATABASE);
try {
$db = new PDO(PDO_DSN, DB_USERNAME, DB_PASSWORD);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
/*
(1) exec(): 結果を返さない、安全なsql
(2) query(): 結果を返す、安全、何回も実行されない
(3) prepare(): 結果を返す、安全対策が必要、複数回実行
*/
$stmt = $db->prepare("insert into users(name, score) values(?, ?)");
$stmt->execute(['name', 44]);
echo "inserted: " . $db->lastInsertId();
} catch (PDOException $e){
echo $e->getMessage();
exit;
}