/** * Prepares and executes an INSERT statement to add new records to a database table * * @param array $data Associated array of fileds and values * * @return PDOStatement|null */ public function insert($data) { $defaultValues = array('created' => date('Y-m-d H:i:s'), 'modified' => date('Y-m-d H:i:s')); $data = array_merge($defaultValues, $data); $order = $this->filter($data); $fields = implode(', ', array_keys($order)); $values = implode(', ', array_fill(0, count($order), '?')); $query = 'INSERT INTO `' . $this->table . '` (' . $fields . ') VALUES (' . $values . ')'; $statement = $this->dbHelper->execute($query, array_values($order)); if ($statement == null) { $this->error = $this->dbHelper->getError(); } return $statement; }