Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在CodeIgniter中执行准备好的语句_Php_Mysql_Codeigniter_Prepared Statement - Fatal编程技术网

Php 如何在CodeIgniter中执行准备好的语句

Php 如何在CodeIgniter中执行准备好的语句,php,mysql,codeigniter,prepared-statement,Php,Mysql,Codeigniter,Prepared Statement,我可以在MySQL中执行以下语句: SET @sql = NULL; SELECT GROUP_CONCAT(DISTINCT'MAX(IF(Name = ''', Name, ''', Name, NULL)) AS `', Name, '`') INTO @sql from Contact_Types; SET @sql = CONCAT('SELECT c.First_Name, ', @sql, ' from Contacts c left join Contacts_Contac

我可以在MySQL中执行以下语句:

SET @sql = NULL;

SELECT
 GROUP_CONCAT(DISTINCT'MAX(IF(Name = ''', Name, ''', Name, NULL)) AS `', Name, '`') INTO @sql
from Contact_Types;

SET @sql = CONCAT('SELECT c.First_Name, ', @sql, ' from Contacts c
left join Contacts_Contact_Types cct
  on c.Contact_Id = cct.Contact_Id
left join Contact_Types ct
  on cct.Contact_Type_Id = ct.Contact_Type_Id
group by c.Contact_Id');

PREPARE statement FROM @sql;
EXECUTE statement;
DEALLOCATE PREPARE statement;
这个准备好的语句允许我动态检索与联系人关联的“联系人类型”。如何在CodeIgniter中执行这个准备好的语句并检索结果?我在CI文档中找不到这方面的任何提及

尝试执行以下操作时,我收到SQL语法错误:

$this->db->query("PREPARE statement FROM @sql; EXECUTE statement; DEALLOCATE PREPARE statement;");

谢谢你能提供的任何帮助

您是否尝试过使用CI查询功能<代码>$this->db->query(“选择…”)@DinRevah是的,我试过了,但运气不好。例如,我使用
$this->db->query(“PREPARE statement FROM@SQL;EXECUTE statement;DEALLOCATE PREPARE statement;”)收到一个SQL语法错误谢谢你的回复。为什么不直接使用Codeigniter查询生成器进行查询?@DinRevah我不确定你指的是什么。不过,我通常使用活动记录进行查询。ActiveRecordCodeIgniter文档也没有提到执行准备好的语句。