wpdb->prepare and mysql UPDATE – how is it done?

I sort of fixed your query. It needs a table and a WHERE condition to prevent changing all rows. Even a LIMIT 1 at the end won’t hurt.

$rows_affected = $wpdb->query(
    $wpdb->prepare(
        "UPDATE {$table} SET removed = %s, post_id = %d, user_id = %d, status = %d;",
        $cur_date = date('Y-m-d H:i:s'), $postid, $userid, 0
    ) // $wpdb->prepare
); // $wpdb->query

Just add the WHERE… in the MySQL query. Proper use of prepare is:

$wpdb->prepare($format, $arg1, $arg2, ...); // just like printf()