Treatment Table
Treatement (treat_id,
staff_id,
pet_id,
treat_date,
total_price)
Your insert statement is
insert into TREATMENT(TREAT_ID.nextval, --you should use sequence next val in values
PET_ID,
;TREAT_DATE, ---why you have a semi colon here???
TREAT_TIME, --- this column does not exist in Treatment table
TOTAL_PRICE)'. 'values
(:TREAT_DATE_bv,
(select p.pet_id,p.pet_name from treatment t join pet p on t.PET_ID =p.pet_id where p.pet_name=:PET_NAME),-- you didn't use place holder for pet_name and why do you need p.pet_name here???
:TREAT_TIME_bv,
:TOTAL_PRICE_bv)
Above insert statement column names are not in order with values.
You need staff_name place holder to get staff_id and Your insert statement should be like this
INSERT INTO TREATMENT(treat_id,
staff_id,
pet_id,
treat_date,
total_price)
values
(treat_id.nextval,
(select staff_id from staff where staff_name=:STAFF_NAME_bv),
(select pet_id from pet where pet_name=:PET_NAME_bv),
:TREAT_DATE_bv,
:TOTAL_PRICE_bv)
Keep in mind above is standard sql adjust as per your php code.And on another note what happens if 2 or 3 pet_id's share same pet_name? It's best to have cust_id place holder to get pet_id i.e select pet_id from pet where pet_name=:PET_NAME_bv and cust_id=:CUST_ID_bv