у меня проблема с запросом codeigniter, запрос следующий.
Это мой метод:
public function CargarProceso($idUsuario, $estatus)
{
$joinQuery = 'procesos_cotizaciones.proveedor =';
$joinQuery .= (string) $idUsuario;
$joinQuery .= ' AND procesos_cotizaciones.estatus =';
$joinQuery .= "\"".$estatus."\"";
$joinQuery .= ' AND procesos_cotizaciones.proceso = planos_procesos.id';
$this->db->select('procesos_cotizaciones.proveedor,procesos_cotizaciones.estatus, planos_procesos.proceso, planos_proyecto.nombre_archivo');
$this->db->from('procesos_cotizaciones');
$this->db->join('planos_procesos', $joinQuery, 'inner');
$this->db->join('planos_proyecto','planos_procesos.plano = planos_proyecto.id','inner');
$this->db->group_by('planos_proyecto.nombre_archivo', 'asc');
$query = $this->db->get();
//var_dump($query);
return $query;
}
строка в $joinQuery:
"procesos_cotizaciones.proveedor =90004 AND procesos_cotizaciones.estatus ="ORDEN DE COMPRA" AND procesos_cotizaciones.proceso = planos_procesos.id"
но верните запрос к базе данных с ошибкой, потому что codeigniter добавляет обратную кавычку в запрос и отправляет в mysql.
SELECT `procesos_cotizaciones`.`proveedor`, `procesos_cotizaciones`.`estatus`, `planos_procesos`.`proceso`, `planos_proyecto`.`nombre_archivo` FROM `procesos_cotizaciones` INNER JOIN `planos_procesos` ON `procesos_cotizaciones`.`proveedor` =90004 AND `procesos_cotizaciones`.`estatus` ="ORDEN DE `COMPRA"` AND `procesos_cotizaciones`.`proceso` = `planos_procesos`.`id` INNER JOIN `planos_proyecto` ON `planos_procesos`.`plano` = `planos_proyecto`.`id` ORDER BY `planos_proyecto`.`nombre_archivo` ASC
обратная цитата добавлена к Compra"
$estatus
и почему он вставляется в запрос без какого-либо экранирования? - person tadman   schedule 31.07.2018