-1

そこで、article という PHP クラスを作成しています。このクラスには、insert、delete、update などのメソッドがたくさんあります。同じコードに従う他の 3 つの関数があり、それらはすべて機能するため、このエラーが発生する理由がわかりません。これが私が書いたコードです。

public function update(){

    //make sure that the article does have an I.D
    if(is_null($this->id)) trigger_error("Article::update(): Attempt to update an Article object that does not have its ID property set.", E_USER_ERROR );

    //If there are any PDO errors they will be caught.
    try{
        $connection1 = new PDO(DB_DSN, DB_USERNAME, DB_PASSWORD);
        $connection1->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
        $sqlQuery = "UPDATE articles SET lastEditDate=FROM_UNIXTIME(:lastEditDate), lastEditUser=:lastEditUser, title=:title, content=:content WHERE id = :id";
        $statement->prepare($sqlQuery);
        $statement->bindValue(":lastEditDate", $this->lastEditDate, PDO::PARAM_INT);
        $statement->bindValue(":lastEditUser", $this->lastEditUser, PDO::PARAM_STR);
        $statement->bindValue(":title", $this->title, PDO::PARAM_STR);
        $statement->bindValue(":content", $this->content, PDO::PARAM_STR);
        $statement->bindValue(":id", $this->id, PDO::PARAM_INT);
        $statement->execute();
        $connection1 = null;

    }


    catch(PDOException $e){
        echo "update():I'm sorry, Dave. I'm afraid I can't do that.";  
        file_put_contents('PDOErrors.txt', $e->getMessage(), FILE_APPEND);
    }


}

以前のクエリから取得できると読んだので、変数の名前を変更してnullに設定してみました。このサイトやその他から見つけた他のスレッドもチェックしましたが、ほとんどすべてがスコープの問題でした。他のすべての機能が機能するため、ここでは問題ではないと思います。私が見逃していることは痛々しいほど明らかですか?

4

1 に答える 1

2

$connection1->prepare()ではないはず$statement->prepare()です。

于 2012-06-18T21:38:18.967 に答える