Round brackets issue in Codeigniter |
03-10-2018, 03:40 AM
(This post was last modified: 03-10-2018, 06:12 AM by ciadmin. Edit Reason: SEO link redacted )
Hi,
I am working on Codeigniter project, I need to migrate whole database MySQL to SQL server, for that I am getting an issue in select query, I can see in SQL server round brackets are not supported around the table name, here is my Codeigniter query $this->db->_protect_identifiers=false; $this->db->select('*')->from('tb_card',false); $this->db->where('company_id',$this->company_id,FALSE)->get()->row_array(); This select query generates below query SELECT * FROM (tb_card) WHERE company_id = 27 You can see there are round brackets around the table name, I want to remove this, can anyone please help me to resolve this issue? Thank you
And what do get doing it this way?
PHP Code: $this->db->_protect_identifiers = false; Do you get the same output? If so you could use the database query method and build your own sql select statement. What did you Try? What did you Get? What did you Expect?
Joined CodeIgniter Community 2009. ( Skype: insitfx )
The issue you are facing is because the Codeigniter query builder is adding round brackets around the table name by default. To prevent this, you can set the "_protect_identifiers" property to false before running the query. Additionally, you can pass "false" as the second parameter to the "from()" method to prevent the table name from being enclosed in brackets. The modified query would look like this:
$this->db->_protect_identifiers = false; $this->db->select('*')->from('tb_card', false); $this->db->where('company_id', $this->company_id, FALSE)->get()->row_array(); This should generate the correct query for MySQL and SQL Server. But, yes if we compare it with the python you can find more similarities in it. |
Welcome Guest, Not a member yet? Register Sign In |