• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
CI 3: query builder - php error - preg_match(): Compilation failed

#1
Hi i'm getting this php error. Is this an bug or am I doing something wrong?
Code:
A PHP Error was encountered

Severity: Warning

Message: preg_match(): Compilation failed: regular expression is too large at offset 35702

Filename: database/DB_query_builder.php

Line Number: 2316
Reply

#2
And what code is giving you the error?
What did you Try? What did you Get? What did you Expect?

Joined CodeIgniter Community 2009.  ( Skype: insitfx )
Reply

#3
I'm doing many joins etc. with query builder:

Code:
//select
$this->db->select('pc_workload_execution.id, pc_workload_execution.pc_study_class_executors_id as executor, pc_studies.id as studies_id, pc_studies.study_finance_code, pc_studies.title_hr as study_title, pc_studies.study_level_execution_type, hr_employee.id as hr_employee_id, hr_employee.firstname, hr_employee.lastname, hr_employee.old_sys_id, hr_employee.hr_employment_status_id, val_pc_katedre.print_title, val_pc_katedre.katedra_finance_code, val_pc_katedre.id as katedra_id, pc_classes_workload_semester.class_type_id as class_type, val_class_type.code_hr as class_type_code, pc_classes_workload_semester.finance_coef as finance_coef');

//join
$this->db->join('pc_study_class_executors', 'pc_study_class_executors.id = pc_workload_execution.pc_study_class_executors_id');
$this->db->join('pc_classes_workload_semester', 'pc_classes_workload_semester.id = pc_study_class_executors.pc_study_class_workload_semester_id');
$this->db->join('pc_study_mandatory_classes', 'pc_study_mandatory_classes.id = pc_classes_workload_semester.pc_study_mandatory_classes_id');
$this->db->join('pc_studies', 'pc_studies.id = pc_study_mandatory_classes.pc_studies_id');
$this->db->join('pc_classes', 'pc_classes.id = pc_study_mandatory_classes.pc_classes_id');
$this->db->join('val_pc_katedre', 'val_pc_katedre.id = pc_classes.katedra_holder_id');
$this->db->join('val_class_type', 'val_class_type.id = pc_classes_workload_semester.class_type_id');
$this->db->join('hr_employee', 'hr_employee.id = pc_study_class_executors.hr_employee_id');

//where
$this->db->where('pc_studies.id IN ('.$studies.')');
$this->db->where('pc_classes.katedra_holder_id IN ('.$katedre.')');
$this->db->where('pc_workload_execution.id NOT IN ('.$ignore_m_executions.')');
// $this->db->where('hr_employment_status_id IN ('.$hr_employment_statuses.')');

//order by
$this->db->order_by('studies_id', 'asc');

$data_mandatory = $this->db->get('pc_workload_execution');

and this is line from DB_query_builder.php which is giving error:

Code:
preg_match('/^(\(?)(.*)('.preg_quote($op, '/').')\s*(.*(?<!\)))?(\)?)$/i', $conditions[$ci], $matches))
Reply

#4
... the query builder is not made for such complex queries, it's only supposed to help you with basic ones.

Just use query(), there's no reason not to in this case.
Reply

#5
(02-17-2015, 04:14 AM)Narf Wrote: ... the query builder is not made for such complex queries, it's only supposed to help you with basic ones.

Just use query(), there's no reason not to in this case.

Sad
Ok. tnx for reply...
Reply


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


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