尝试使用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的新手,所以如果这对我来说很明显,我很抱歉。
感谢!!!
答案 0 :(得分:3)
问题出在您的控制器中,您希望实例化类ModifyModel
,然后在该实例上调用modUser
函数。
尝试以下方法:
if (isset($_POST ['update'])){
$modifyModel = new ModifyModel(MY_DSN, MY_USER, MY_PASS);
$result = $modifyModel->modUser();
}