2012-05-17 2 views
0

Я пытаюсь сохранить статью и заголовок в моей базе данных. Я использую язык программирования OOP (getters, seters) с помощью mysqli. Здесь вы можете увидеть мой код из класса.Ошибка сохранения переменных в базе данных

<?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() ; 
} 

Я получаю эту ошибку: Фатальная ошибка: Uncaught исключение 'Exception' с сообщением 'Что-то пошло не так' в ../assets/article.class.php:48 трассировки стека: # 0 ../index. php (52): Article-> saveArticle() # 1 {main} брошен в .assets/article.class.php в строке 48 (эта строка $ article1 = новая статья;)

Спасибо за ответ!

Проблема решена с заменой запроса (ошибки типа), вы можете увидеть рабочую часть (запрос) ниже этого предложения.

$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

Смежные вопросы