JA 日本語
バージョン: 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();