| | |
| | | return false; |
| | | } |
| | | |
| | | return true; |
| | | $sql = "UPDATE {$this->getTable()}"; |
| | | |
| | | unset($data["id"]); |
| | | |
| | | $assignments = array_keys($data); |
| | | |
| | | array_walk($assignments, function (&$value) { |
| | | $value = "$value = ?"; |
| | | }); |
| | | |
| | | $sql .= " SET " . implode(", ", $assignments); |
| | | $sql .= " WHERE id = ?"; |
| | | |
| | | $conn = $this->database->getConnection(); |
| | | $stmt = $conn->prepare($sql); |
| | | |
| | | $i = 1; |
| | | foreach ($data as $value) { |
| | | $type = match(gettype($value)) { |
| | | "boolean" => PDO::PARAM_BOOL, |
| | | "integer"=> PDO::PARAM_INT, |
| | | "NULL"=> PDO::PARAM_NULL, |
| | | default => PDO::PARAM_STR |
| | | }; |
| | | |
| | | |
| | | $stmt->bindValue($i++, $value, $type); |
| | | } |
| | | |
| | | $stmt->bindValue($i, $id, PDO::PARAM_INT); |
| | | return $stmt->execute(); |
| | | |
| | | } |
| | | |
| | |
| | | }; |
| | | |
| | | |
| | | $stmt->bindValue($i++, $value, PDO::PARAM_STR); |
| | | $stmt->bindValue($i++, $value, $type); |
| | | } |
| | | |
| | | |