0

記事とタイトルをデータベースに保存しようとしています。私はmysqliでOOPプログラミング言語(ゲッター、セッター)を使用しています。ここでは、クラスからの私のコードを見ることができます。

<?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}が..assets/article.class.phpの48行目にスローされます(この行$ 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) . "');";
4

1 に答える 1

0

クエリの後に不要なコンマがありarticleます:

INSERT INTO tblArticles
            (titel, 
            article,) VALUES ...
于 2012-05-17T13:17:53.160 に答える