[eluser]johnpeace[/eluser]
If you want the select to be a multi-select, it's going to need [] appended to it's name and will return an array like array(0 => 'value 1', 1 => 'value 2' ...)
But that's not what it looks like you want.
If your query reads:
SELECT username, role FROM auth WHERE username = Array AND password = '...
It looks like your code is expecting a scalar value there, username would only ever = 1 value.
So, just remove the 'multiple' and the [] from your select tag, which will turn it into a regular dropdown from which one value can be submitted.
If you WANT an array of values from that field, you'll need to do something with the array to turn it into a where clause you can work with, like:
// set starts with a comma? nope!
$values = '0';
// loop through the array coming from the multiselect
foreach ($this->input->post('username') as $key => $value) {
// append whatever values are found to the variable
$values .= ', ' . $value;
}
Then your query can use:
SELECT whatever FROM table WHERE value IN($values)
...or something like that.