编辑:我发现问题出在 PHP 中的多个查询上,那么 codeigntier 有什么解决办法呢?我是否必须使用 mysqli 函数本身,或者我可以使用内置的 Codeigniter DB 类吗?
我有一个查询,当我将其粘贴到 PHPMyAdmin 中时运行良好,但是当我在 codeigniter 中运行它时,它会导致语法错误,任何人都可以提供帮助吗?
这是 SQL
SET @sql = NULL;
SELECT
GROUP_CONCAT(DISTINCT
CONCAT(
'MAX(IF(user_fields_to_users.map_field_id=''',field_id,''',user_fields_to_users.map_data,NULL)) AS ', field_name)) INTO @sql
FROM user_custom_fields;
SET @sql = CONCAT('SELECT *
,', @sql, '
FROM user_accounts LEFT JOIN user_fields_to_users ON
user_accounts.user_id = user_fields_to_users.map_user_id
GROUP BY user_accounts.user_id');
PREPARE stmt FROM @sql;
EXECUTE stmt;
我正在使用 mysqli
和 codeigniters $this->db->query();
我收到的错误是
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT GROUP_CONCAT(DISTINCT CONCAT( 'MAX(IF(user_fields_t' at line 3
最佳答案
改变
'MAX(IF(user_fields_to_users.map_field_id
到
MAX(IF('user_fields_to_users.map_field_id
关于php - MySQL直接运行但CodeIgniter出现语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22016352/