[eluser]Rick Jolly[/eluser]
I use a variation of method #1. CI's validation can modify the $_POST array. When validating you will probably want to prep the form data. For example, I usually use "trim" to remove leading/trailing spaces. So when the validation succeeds, the $_POST array will contain the validated and prepped form data. So you could safely do this:
Code:
Controller
// if validation succeeds:
$this->model->add($_POST);
Model
$v1 = $data['var1'];
$v2 = $data['var2'];
$v3 = $data['var3'];
$this->db->query("exec spXXX '$v1','$v2','$v3'");
You could dynamically build your queries with a loop.