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

在您的情况下,尝试先加入,然后尝试“设置”语句

于 2012-07-02T14:41:09.133 回答