الإصدار: v2.3.0
update
تحديث السجلات في جدول.
update($table, $data, $where)
table [string]
اسم الجدول.
data [array]
أزواج قيمة العمود المطلوب تحديثها.
where [array] (اختياري)
يتم استخدام جملة WHERE لتصفية السجلات المراد تحديثها.
القيمة المُعادة
[PDOStatement] مثيل PDOStatement للاستعلام الذي تم تنفيذه.
وكما في
insert()، تدعم هذه الدالة تسلسل المصفوفات واكتشاف الأنواع تلقائيًا. كما تدعم المعاملات [+] و[-] و[*] و[/] لإجراء التحديثات الحسابية.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",
// زيادة جميع قيم العمر بمقدار 1.
"age[+]" => 1,
// تقليل جميع المستويات بمقدار 5.
"level[-]" => 5,
// مضاعفة جميع قيم النقاط مرتين.
"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