大変、お世話になります。
トランザクションの質問ではなく、今更なのですが、このレッスンを聞いているときに疑問に感じましたので、この場で質問をさせて頂きます。
まず、$pdo->
については、「データベースへのアクセスを抽象化してくれるもの」との言葉通り、データベースにアクセスする時に、その都度、$pdo->
に続けてクエリ等を記載していくものだと理解しています。
一方、$stmt
については、「query() メソッドの結果は PDO ステートメントと呼ばれるオブジェクトで返ってくる」ので、それを$stmt
で受けているとのことですが、今回のレッスンを振り返ると
$stmt = $pdo->query(
"UPDATE posts SET likes = likes + 1 WHERE id = 1"
);
$stmt = $pdo->query(
"UPDATE posts SET likes = likes - 1 WHERE id = 2"
);
$stmt = $pdo->query("SELECT * FROM posts");
と 3 箇所で出てきます。
=
で繋がれているので、各クエリが代入されていると思うのですが、それは、$stmt
という変数に上書きされて行くのではなく、その後、$stmt->fetchAll
と複数の配列を受け取る命令がでてるので、$stmt
には、それら 3 つの各クエリが配列として代入されていく、と言うことでしょうか?
「query() メソッドの結果は PDO ステートメントと呼ばれるオブジェクトで返ってくる」との事で、今更ですが、オブジェクトと配列が混同していて、ご説明を頂けますでしょうか?
宜しくお願いいたします。
この回答を見るにはプレミアムプランへの登録が必要です
プレミアムプランとは?