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クエリをDBサーバーに送信するための単なるAPIです。

ですから、通常の SQL をプレースホルダー付きで書くだけです。

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