我试图将文章和标题保存到我的数据库中。我用mysqli使用OOP编程语言(getters,setters)。在这里你可以看到我的课程代码。将变量保存到数据库时出错
<?php
class Article {
private $m_sTitle;
private $m_sArticle;
public function __set($p_sProperty, $p_vValue)
{
switch($p_sProperty)
{
case "Title" :
$this -> m_sTitle = $p_vValue;
break;
case "Article" :
$this -> m_sArticle = $p_vValue;
break;
}
}
public function __get($p_sProperty)
{
$vResult = null;
switch($p_sProperty)
{
case "Title" :
$vResult = $this -> m_sTitle;
break;
case "Article" :
$vResult = $this -> m_sArticle;
break;
}
}
public function saveArticle()
{
include("connection.php");
$sSql = "INSERT INTO tblArticles
(titel,
article,
)
VALUES
('".mysqli_real_escape_string($mysqli, $this -> m_sTitle) . "',
'" .mysqli_real_escape_string($mysqli, $this -> m_sArticle) . "',
);";
if (!$mysqli -> query($sSql))
{
throw new Exception("Something went wrong");
}
}
}
?>
在这里你可以看到在PHP文件中的代码。
if(isset($_GET['title'])=="")
{
//do nothing
}
else {
$titel = $_GET['title'];
$artikel = $_GET['content'];
include("assets/connection.php");
include("assets/article.class.php");
$article1 = new Article;
$article1 -> Title = $titel;
$article1 -> Article = $artikel;
$article1 -> saveArticle() ;
}
我收到此错误:致命错误:未捕获的异常“异常”与消息中../assets/article.class.php:48堆栈跟踪“出事了”:#0 ../index。 php(52):Article-> saveArticle()#1 {main}抛在第48行的..assets/article.class.php(这行$ article1 = new Article;)
感谢您的回应!
通过替换查询(类型错误)解决了问题,您可以在此句子下方看到工作部分(查询)。
$sSql = "INSERT INTO tblArticles
(titel,
article
)
VALUES
('".mysqli_real_escape_string($mysqli, $this -> m_sTitle) . "',
'" .mysqli_real_escape_string($mysqli, $this -> m_sArticle) . "');";
你可以张贴tblArticles表的结构? – WojtekT
查看我之前的评论 – Niels