Thực thi nhiều lần biểu thức đã chuẩn bị trong PDO của PHP
Chúng ta có thể thực thi một biểu thức đã chuẩn bị cho truy vấn cơ sở dữ liệu nhiều lần. Điều này tiết kiệm tài nguyên hơn một chút so với việc chuẩn bị nó lại mỗi lần.
Giả sử ví dụ chúng ta cần thực hiện các truy vấn cập nhật lương người dùng trong bảng.
Giả sử chúng ta đã có một mảng kết hợp,
trong đó khóa sẽ là
id của người dùng, và giá trị -
là lương của họ:
<?php
$salaries = [
1 => 200,
3 => 500,
5 => 700,
];
?>
Hãy chuẩn bị truy vấn một lần:
<?php
$res = $pdo->prepare('UPDATE users SET salary=? WHERE id=?');
?>
Và bây giờ trong vòng lặp, chúng ta sẽ duyệt qua mảng của mình và thực thi truy vấn đã chuẩn bị trong mỗi lần lặp với các dữ liệu khác nhau cho các placeholder:
<?php
foreach ($salaries as $id => $salary) {
$res->execute([$salary, $id]);
}
?>
Cho một mảng chứa id và tuổi của người dùng:
<?php
$ages = [
1 => 20,
3 => 30,
5 => 40,
];
?>
Hãy viết code để trong vòng lặp cập nhật dữ liệu người dùng.