您好。我一直在尝试使用Savant Templating Engine创建一个PHP页面,它通过XAMPP执行一些CRUD操作。当我编写页面并尝试运行页面时,我发现上面出现的错误。但是当我分别将值插入文本框和textarea并点击发布按钮时,我发现数据库正在成功更新。上述问题的可能原因是什么?我如何摆脱这个问题。
我试图寻找相同的现有线程,但似乎没有一个解决我的问题。如果任何现有线程解决了我的问题,请引用下面的链接帮助。谢谢。 :)
----------------------------------------------- --------------更新----------------------------------- ---------------------------
view.html
<html>
<head>
<title>Create Post: Blog: Design & Social Media</title>
</head>
<body>
<form action="../../applications/create/index.php" method="POST">
<input type="text" name="title" value="<?php echo $this->b->title; ?>"/>
<input type="submit" value="Publish" />
<br/>
<textarea rows="2" cols="20" name="content"><?php echo $this->b->content; ?></textarea>
</form>
</body>
</html>
的index.php
<?php
include_once ('../../classes/models/blog.php');
include_once ('../../resources/libraries/savant3.php');
$s=new savant3();
$s->method=$_SERVER['REQUEST_METHOD'];
$b=new blog();
if($_SERVER['REQUEST_METHOD']=="GET")
{
}
else
{
$b->title=$_POST['title'];
$b->content=$_POST['content'];
Blog::create($b);
header('location:../../applications/success/index.php');
return;
}
$s->display('view.html');
?>
blog.php的
<?php
class Blog
{
public $id;
public $title;
public $content;
public $created;
public static function create(Blog $b)
{
$title=$b->title;
$content=$b->content;
$m=new mysqli("localhost","root","","kartik_iyer");
$s=$m->prepare("insert into blog values(null,?,?,null)");
$s->bind_param('ss', $title, $content);
$s->execute();
}
public static function readSingle($id)
{
}
public static function readAll()
{
}
public static function update(Blog $b)
{
}
public static function delete($id)
{
}
}
?>
答案 0 :(得分:2)
您收到此消息是因为您的错误报告设置为-1
= error_reporting(-1);
或至少已启用通知。这意味着,将显示所有可能的错误消息,尤其是通常未启用的通知。我刚刚在 this topic 中询问了错误报告
结论是,您应该编写符合最高标准的代码,但不应修复现有代码。
我建议找到该行,即将错误报告设置为-1
将其删除。或者使用:error_reporting(E_ERROR | E_WARNING | E_PARSE);
覆盖它。这会将其设置为默认值。
或者,您可以使用empty()
,isset()
优化代码,或者将某些变量预设为NULL
。
无论如何,请阅读my link on Programmers,您将了解有关错误报告的必要知识。