我按照此处的 CI 用户指南进行操作http://ellislab.com/codeigniter/user-guide/database/queries.html
,但仍然无法让此查询正常工作。我可以将不带 '' 的确切代码粘贴到工作台中,它运行良好,所以我不确定 CI 语法在哪里出错。这里是:
public function test(){
ini_set('memory_limit','-1')
$my_sql = $this->db->query(
'DROP TABLE temp1;
DROP TABLE temp2;
CREATE TEMPORARY TABLE temp1 (id varchar(150),user varchar(150),item varchar(150),city varchar(150));
INSERT INTO temp1 SELECT id, user, item, city FROM add WHERE user = 1;
CREATE TEMPORARY TABLE temp2 (id varchar(50),vendor varchar(50)) ;
INSERT INTO temp2 SELECT id, vendor FROM selection;
SELECT a.user, a.id, a.item, a.city, b.vendor
FROM temp1 a
RIGHT JOIN temp2 b ON a.id=b.id;'
);
$query = $this->db->get($my_sql);
return $query->result_array();
}
我的错误是 1064 error in SQL syntax
。当我在本地运行它时,它引用 DB_driver.php 文件第 330 行。在云中运行时,它引用这一行$query = $this->db->get($my_sql);
。谢谢您的帮助!