написал код редактирования записи в БД он работает но меня терзают смутные сомнения что он кривой и можно сделать лучше Код (Text): public static function update($read) { $columns = []; $values = []; foreach ($read as $k => $v) { if (empty($v)) { continue; } if ($k == 'id') { continue; } $columns[] = $k; if (end($values)) { $values[] = '`' . $k . '`=\'' . $v . '\' ' ; } else { $values[] = '`' . $k . '`=\'' . $v . '\', ' ; } } $sql = 'UPDATE ' . static::TABLE . ' SET ' . implode($values) . ' WHERE id=' . $read->id; $db = Db::instance(); $db->execute($sql); } Код (Text): var_dump($sql); string(116) "UPDATE news SET `title`='Метеорит убил человека, `author_id`='2' WHERE id=2" на сколько правильно вот так писать ? Код (Text): $values[] = '`' . $k . '`=\'' . $v . '\' ' ; $values[] = '`' . $k . '`=\'' . $v . '\', ' ;
одинарной кавычки не хватает после слова: человека ещё нет защиты от вредоносных данных, почитай про sql-injection, и используй pdo подготовленные запросы или метод quote из PDO. http://phpfaq.ru/tech/safety