私は今日、本当にアプリケーションでPDOと準備されたステートメントを使用すべきであると言われました。メリットを理解する一方で、ワークフローにどのように実装するかを理解するのに苦労しています。コードがよりクリーンになるという事実は別として、準備されたすべてのステートメントを格納する特定のデータベースクラスが必要ですか、それともクエリを実行するたびに作成する必要がありますか?標準のPDOクエリを使用する必要がある場合と、準備されたステートメントを使用する必要がある場合を理解するのは非常に困難です。例、ヒント、またはチュートリアルのリンクは大歓迎です。
pdo :: prepare() のドキュメントには2つの優れた例があります。
ここに含めて、少し簡略化しました。
これは?
パラメーター。 $dbh
は基本的にPDOオブジェクトです。そして、あなたがしていることは値を置くことです150
および'red'
最初の疑問符と2番目の疑問符にそれぞれ。
/* Execute a prepared statement by passing an array of values */
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < ? AND colour = ?');
$sth->execute(array(150, 'red'));
$red = $sth->fetchAll();
これは名前付きパラメーターを使用し、もう少し複雑です。
/* Execute a prepared statement by passing an array of values */
$sql = 'SELECT name, colour, calories
FROM fruit
WHERE calories < :calories AND colour = :colour';
$sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$sth->execute(array(':calories' => 150, ':colour' => 'red'));
$red = $sth->fetchAll();