0

尝试仅使用 PHP(无框架)构建我的第一个 MVC CRUD 应用程序。我已经为更新写出了我的模型,但是当我点击我的提交按钮时,我没有得到任何更新。

__construct 的常量很好——它们可以在我的读取模型中找到。

这是我的模型:

<?php
class ModifyModel{

    private $db;

    public function __construct($dsn, $user, $pass){

        try {
        $this->db = new \PDO($dsn, $user, $pass);

        }
        catch (\PDOException $e) {
            echo"Couldn't access";
        }
    } //__construct

    public function modUser(){

        $first = mysql_real_escape_string($_POST["firstName"]);
        $last = mysql_real_escape_string($_POST["lastName"]);
        $handle = mysql_real_escape_string($_POST["handle"]);
        $email = mysql_real_escape_string($_POST["email"]);
        $unique = ($_POST["uniqueId"]);

        $statement = $this->db->prepare("
        UPDATE admin
        SET firstName='$first', lastName='$last', handle='$handle', email='$email'
        WHERE uniqueId= '$unique'");
            try {
                $statement->execute();
                echo"success";
                }
        catch (\PDOException $e) {
            echo "Couldn't query the database!";
            var_dump($e);
        }
        return array();
    }
}

?>

这是我的控制器:

<?php
    require_once "db.php";
    require_once "UserModel.php";
    require_once "UserView.php";

    $model = new UserModel(MY_DSN, MY_USER, MY_PASS);
    $view = new UserView();
    $view->showHeader('LiveTweet Admin');
    $view->showUpdateUser($model->getModifyUser($_GET["id"]));

    if (isset($_POST ['update'])){
        $model = new modUser();   
    }
    $view->showFooter();
?>

任何帮助将不胜感激。我对 PHP 非常陌生,所以如果这对我来说很明显,我很抱歉。

谢谢!!!

4

1 回答 1

3

问题出在您的控制器中,您想实例化该类ModifyModel,然后modUser在该实例上调用函数。

尝试以下操作:

if (isset($_POST ['update'])){
    $modifyModel = new ModifyModel(MY_DSN, MY_USER, MY_PASS);
    $result = $modifyModel->modUser();   
}
于 2013-08-02T01:52:51.697 回答