我正在开发一个Web应用程序,需要根据用户要求通过表单更新数据库条目。我正在使用Savant模板引擎来实现MVC结构。一切都很顺利,直到我继续测试update()
功能。当我填写更新表单并单击更新按钮时,它会显示一个空白屏幕,其URL为update.php。这是Update.php页面的代码:
<?php
include_once("../../Resources/Libraries/Savant3.php");
include_once("../../Classes/Models/Test.php");
$s=new Savant3();
$s->method=$_SERVER['REQUEST_METHOD'];
if($_SERVER['REQUEST_METHOD']=="GET")
{
$b=Test::readSingle($_GET['id']);
$s->b=$b;
$s->display("UpdateView.tpl");
}
else
{
$b=new Test();
$b->id= $_POST['id'];
$b->title= $_POST['title'];
$b->address= $_POST['address'];
$b->location= $_POST['location'];
if($b->validate==true)
{
Test::update($b);
header('location: ../../Applications/Success');
return;
}
}
?>
我认为问题很可能是上述代码中的某个地方。如果您希望在模型中看到update()
功能,请执行以下操作:
public static function update(Test $b)
{
$id=$b->id;
$title=strip_tags($b->title);
$address=strip_tags($b->address);
$location=strip_tags($b->location);
$m=new mysqli("localhost", "XXXXXXXX", "XXXXXXXXXXX", "XXXXXXXXXXX");
$s=$m->prepare("update test set title=?, post=?, location=? where id=?");
$s->bind_param("sssi", $title, $address, $location, $id);
$s->execute();
}
如果您有任何信息,请提供帮助。这个很重要!提前致谢。 :)
答案 0 :(得分:0)
正如我在问题的评论中指出的那样,我解决了问题,因为我意识到我在validate()
函数之后缺少一对括号。欢呼声。