เวอร์ชัน: v2.3.0
update
อัปเดตบันทึกในตาราง
update($table, $data, $where)
table [string]
ชื่อตาราง
data [array]
ข้อมูลคอลัมน์ที่จะอัปเดต
where [array] (ไม่บังคับ)
เงื่อนไข WHERE สำหรับระบุบันทึกที่จะอัปเดต
ค่าที่ส่งกลับ
[PDOStatement] อินสแตนซ์ PDOStatement ของคิวรีที่รันไป
เช่นเดียวกับ
insert() วิธีนี้รองรับการ serialize อาร์เรย์และการตรวจจับชนิดข้อมูลอัตโนมัติ นอกจากนี้ยังรองรับตัวดำเนินการ [+], [-], [*] และ [/] สำหรับการอัปเดตเชิงคณิตศาสตร์class Foo {
var $bar = "cat";
public function __wakeup()
{
$this->bar = "dog";
}
}
$object_data = new Foo();
$fp = fopen($_FILES[ "file" ][ "tmp_name" ], "rb");
$database->update("account", [
"type" => "user",
// เพิ่มค่า age ของทุกแถวขึ้น 1
"age[+]" => 1,
// ลดค่า level ของทุกแถวลง 5
"level[-]" => 5,
// คูณค่า score ของทุกแถวด้วย 2
"score[*]" => 2,
// ค่าอาร์เรย์
"lang" => ["en", "fr", "jp", "cn"],
// ค่าอาร์เรย์ที่เข้ารหัสเป็น JSON
"lang [JSON]" => ["en", "fr", "jp", "cn"],
// ค่าบูลีน
"is_locked" => true,
// ค่าออบเจ็กต์
"object_data" => $object_data,
// ออบเจ็กต์ขนาดใหญ่ (LOBs)
"image" => $fp
], [
"user_id[<]" => 1000
]);
// `update()` ส่งคืน PDOStatement เพื่อให้คุณสามารถเรียกเมธอดของมันเพื่อดูรายละเอียดเพิ่มเติมได้
$data = $database->update("account", [
"age[+]" => 1
], [
"user_id[>]" => 100
]);
// ส่งกลับจำนวนแถวที่ได้รับผลจากคำสั่ง SQL ล่าสุด
echo $data->rowCount();
// อ้างอิง: https://php.net/manual/en/class.pdostatement.php