I'm actually a postgresql user. I'll translate from Postgresql to Oracle here, see if it works...
The way a sequence works, is that inside the current session, SEQ.currval has no value until SEQ.nextval or SEQ.setval has been called.
SEQ.setval is NOT transactionally safe, and should only be accessed when creating the initial schema / data set load. once up and running it shouldn't be messed with.
So, you can do it a couple of ways:
1: first select the SEQ.nextval yourself, then build that number into your inserts.
2: Run the first insert, then select SEQ.currval and use that in subsequent inserts / updates.
Both are transactionally safe methods, it's kinda up to you which you think is a better fit for your style / the database your working on.
Basically run a query like this, after the insert:
select SEQ.currval as id
then use the ora_ functions in php (get_value??? I'm not familiar with the Oracle syntax, just guessing.) to grab the id and use it in all your subsequent inserts.