Usando más o menos el código que has puesto sería:
Código PHP:
$_SESSION["ocarrito"]->array_precio_prod=$precio;
$_SESSION["ocarrito"]->array_id_prod=$compra;
for ($i=0; $i<count($compra); $i++){
$insertSQL = sprintf("INSERT INTO carrito (factura, comprador, estado, precio, compra) VALUES (%s, %s, %s, '$precio[$i]','$compra[$i]')",
demás código
}
Es más o menos así. No conozco bien la sintaxis de dreamweaver, así que lo más seguro es que haya algún error de sintaxis, o los nombres de los arrays no sean los adecuados. Pruébalo a ver como te resulta y te vamos diciendo.