버전: v2.3.0
PDO 객체
Medoo는 PDO를 기반으로 동작합니다.
$database->pdo를 통해 내부 PDO 인스턴스에 직접 접근할 수 있으며, prepare(), beginTransaction(), rollBack() 같은 네이티브 PDO 메서드도 그대로 사용할 수 있습니다.PDO에 대한 자세한 내용은 https://php.net/manual/en/class.pdo.php를 참고하세요.
트랜잭션
$database->pdo->beginTransaction();
$database->insert("account", [
"user_name" => "foo",
"email" => "foo@bar.com",
"age" => 25
]);
/* 변경 사항을 커밋합니다. */
$database->pdo->commit();
/* 필요하면 변경 사항을 롤백합니다. */
$database->pdo->rollBack();
프리페어드 스테이트먼트
Medoo 문법만으로 표현하기 어려운 복잡한 쿼리는
$database->pdo를 통해 PDO의 프리페어드 스테이트먼트를 직접 사용하면 됩니다. 이렇게 하면 SQL 인젝션 위험을 줄이면서 쿼리를 안전하게 실행할 수 있습니다.$calories = 150;
$colour = 'red';
$sth = $database->pdo->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12);
$sth->execute();