2012-05-17 79 views
0

我试图将文章和标题保存到我的数据库中。我用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) . "');"; 
+0

你可以张贴tblArticles表的结构? – WojtekT

+0

查看我之前的评论 – Niels

回答

0

有没有在您的查询article后不必要的逗号:

INSERT INTO tblArticles 
      (titel, 
      article,) VALUES ... 
+0

你是我的男人!有一个,到你说的很多地方,并且在我的查询结束时!现在工作正常。非常感谢你的回答! – Niels