PDO (PHP Data Objects) — унифицированный интерфейс для работы с базами данных в PHP. Главное преимущество — возможность работать с разными типами БД (MySQL, MSSQL, SQLite и другими) без изменения логики приложения.
Подключение к различным базам данных
try {
# MS SQL Server и Sybase через PDO_DBLIB
$db = new PDO("mssql:host=$host;dbname=$dbname", $user, $pass);
$db = new PDO("sybase:host=$host;dbname=$dbname", $user, $pass);
# MySQL через PDO_MYSQL
$db = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
# SQLite
$db = new PDO("sqlite:my/database/path/database.db");
}
catch(PDOException $e) {
echo $e->getMessage();
}
Выборка данных из БД
$sql = "SELECT * FROM articles";
$result = $db->query($sql);
$articles = $result->fetchAll(PDO::FETCH_ASSOC);
foreach ($articles as $article) {
echo "{$article['id']} {$article['title']} {$article['content']}.
";
}
Вставка данных
Для безопасной вставки используйте подготовленные запросы с привязкой параметров:
$sql = "INSERT INTO articles (title, content) VALUES (:title, :content)";
$stmt = $db->prepare($sql);
$stmt->bindValue(':title', $title);
$stmt->bindValue(':content', $content);
$stmt->execute();
ID последней добавленной записи
После вставки можно получить ID созданной записи:
$lastId = $db->lastInsertId();