0

私のコードは正常に見えますが、更新ステートメントが機能しているため、正常に機能していません。この関数を呼び出すと、画面にエラーが表示されることなくページが読み込まれます。

    public function update(){
        global $database;
        $attributes = $this->sanitized_attributes();
        $attributes_pairs = array();
        foreach($attributes as $key => $value){
            $attributes_pairs[] = "{$key}='{$value}'";
        }
        $sql = "UPDATE ".static::$table_name." SET ";
        $sql .= join(", ", $attributes_pairs);
        $sql .= " WHERE id=".static::$i_d;
        $database->query($sql);
        return ($database->affected_rows() == 1)? true : false;
    }
4

1 に答える 1

0

あなたのコードは私にはうまく見えません。結合による更新は、最初にJOINしてからSETです。ドキュメントを見てください

UPDATE items,month SET items.price=month.price
WHERE items.id=month.id;

また

UPDATE TABLE_1 LEFT JOIN TABLE_2 ON TABLE_1.COLUMN_1= TABLE_2.COLUMN_2
SET TABLE_1.COLUMN = EXPR WHERE TABLE_2.COLUMN2 IS NULL

あなたの場合、最初に結合してから、「set」ステートメントを試してください

于 2012-07-02T14:41:09.133 に答える