Версия: 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.
"score[*]" => 2,
// Значение массива.
"lang" => ["en", "fr", "jp", "cn"],
// Значение массива, закодированное как JSON.
"lang [JSON]" => ["en", "fr", "jp", "cn"],
// Булево значение.
"is_locked" => true,
// Значение объекта.
"object_data" => $object_data,
// Большие объекты (LOB).
"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