1
public function save(User $user_object)
{
    $data = array();

    $data[] = $user_object->username;
    $data[] = $user_object->email;
    $data[] = $user_object->password;

    if (is_null($user_object->id)) {
        $data[] = $user_object->salt;
        $data[] = time();
        $sth = $this->db->prepare("INSERT INTO users (username, email, password, salt, created) VALUES (?, ?, ?, ?, ?)");  
        $sth->execute($data);
    } else {
        //Update User
    }
}

正如您所看到的,如果没有 id,就会有一个插入,如果有一个 ID,就会有一个更新。但是我不确定 PDO 中的 UPDATE 语句会是什么样子,我想推入所有数据即在 ID = $user_object->id 的数组中。

4

1 回答 1

1

没有“PDO 中的 UPDATE 语句”。只有通常的 SQL UPDATE 查询。PDO 没有自己的 SQL。它只是一个向数据库服务器发送 SQL 查询的 API。

因此,只需使用占位符编写常用 SQL

UPDATE users SET username=?, email=?, password=?, salt=? WHERE id=?
于 2012-04-25T11:51:11.770 回答