Update Database Field Error CodeIgniter Update Database Field Error CodeIgniter mysql mysql

Update Database Field Error CodeIgniter


Just stumbled upon the exact same problem here. Fortunately, I'm using the same CI version. :)

It's true that the answer from M_A_K helps remove the "Notice", but I don't think that is the right solution for the problem. So I decided to take a look at line 1407 in DB_active_rec.php and I believe that this is nothing but a minor bug in CI 2.1.2.

Here's my fix. I simply changed the original code:

$not[] = $k.'-'.$v;

into this:

$not[] = $k2.'-'.$v2;

Voila! The "Notice" doesn't appear anymore. :)

We can clearly see that line 1407 was not meant to use $k and $v because line 1407 is inside a foreach loop iterating through $v as $k2 and $v2.

I hope I'm making myself clear.


Just realized that using a foreach like M_A_K suggested actually beats the purpose of using the update_batch function. This is because by using foreach, we're actually doing single update (not batch) for each array elements. This is no different than using the (single) update function in CodeIgniter.


I always feel a little dirty for doing this but you can always just suppress errors for that one line of code too!

function update2($data){   @$this->db->update_batch('users',$data, "id");}

Of course the proper thing to do is upgrade to 2.1.3 (haven't tested or looked so I'll assume it's fixed.)