更新数据库功能

时间:2016-10-16 14:03:16

标签: php model-view-controller

我在MVC架构中编写了一个更新数据库函数,但我似乎无法使该函数正常工作。

model.php

public function update($table, $fields, $args, $id) {
        # update DB implementation
        $argString = implode('\',\'', $args);
        $fieldString = implode(',', $fields);
        $sql = "UPDATE $table SET ($fieldString) VALUES('$argString') WHERE id=$id";
        return($this->connection->query($sql));
    }

Controller.php这样

private function updatePlayer($fields, $values) {
    return $this->model->update('Players', $fields, $values);
}

控制器中的POST语句

elseif($server['REQUEST_METHOD'] == 'POST') {
    # if the ID_FIELD is empty it’s a create request
        if(empty($post['id'])) {
            # replace FIELD NAMES as per your field names in the database
            echo $this->addPlayer(['Player_Name', 'Age', 'City', 'Country', 'Gender', 'Handedness', 'Broom', 'Position', 'Team', 'Favorite_Color', 'Headshot'], [$post['Player_Name'], $post['Age'], $post['City'], $post['Country'], $post['Gender'], $post['Handedness'], $post['Broom'], $post['Position'], $post['Team'], $post['Favorite_Color'], $post['Headshot']]);
        }

        # if the ID_FIELD is not empty then it’s an update request
        else { 
            echo $this->updatePlayer(['Player_Name', 'Age', 'City', 'Country', 'Gender', 'Handedness', 'Broom', 'Position', 'Team', 'Favorite_Color', 'Headshot'], [$post['Player_Name'], $post['Age'], $post['City'], $post['Country'], $post['Gender'], $post['Handedness'], $post['Broom'], $post['Position'], $post['Team'], $post['Favorite_Color'], $post['Headshot']]);
        }
    }

非常感谢任何想法或见解。

0 个答案:

没有答案