gpt4 book ai didi

php - codeigniter 添加回引用查询

转载 作者:行者123 更新时间:2023-11-29 10:07:30 25 4
gpt4 key购买 nike

我的 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”

最佳答案

希望这对您有帮助:

$this->db->join() 接受可选的第四个参数。如果您将其设置为 FALSE,CodeIgniter 将不会尝试保护您的字段或表名称。

$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', FALSE);
$this->db->join('planos_proyecto','planos_procesos.plano = planos_proyecto.id','inner', FALSE);
$this->db->order_by('planos_proyecto.nombre_archivo', 'asc');

$query = $this->db->get();
return $query;

了解更多:https://www.codeigniter.com/user_guide/database/query_builder.html#CI_DB_query_builder::join

关于php - codeigniter 添加回引用查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51617812/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com