• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Active Record - inserting

I'm a little puzzled. Here's what I have

$this->db->insert("my_table", array('name' => $whatever));

when I do the above, it fails if $whatever is a set of words (e.g. "hello hello hello").

Only way I can get above working is if I write it like

$this->db->insert("my_table", array('name' => "$whatever"));

I thought the quotes were not necessary? Am I missing something?

Strange that it works only the way with the qoutes..

I would do it like the userguide says.
// define array first
$data = array(
   'title' => 'My title' ,
   'name' => 'My Name' ,
   'date' => 'My date'

$this->db->insert('mytable', $data);

In my opinion your first approach should work - no idea what
the problem is with that. What kind of error message do you get?

It looks like CodeIgniter is not wrapping it up like '{$whatever}', as it says in the user guide. So the error complains about the fact that you can have something like

insert into A (c1) values (hello hello hello)

It should be

insert into A (c1) values ("hello hello hello")

automatically right?

I use the first way all the time.
Would you mind posting the full function that you are using? (and don't forget to use the code tags, it makes it easier to read ;-) )

hm. ok. I think I know what the problem is. I am using SimpleXML to get my data values, that I am inserting via Active Record, but SimpleXML_load_file returns "object" instead of string. And CI doesn't have "insert quotation marks if data value is object" condition.


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  

  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2021 MyBB Group.