CSV插入到数据库
问题描述:
这是不正常的,因为我们之前讨论过,出于某种原因,我所做的是为上传的文件创建一些$vars
。CSV插入到数据库
Code available here (Pastebin).
但从来没有真正插入任何
- 在做一个
var_dump($csv_row)
我得到:bool(false)
-
var_dump($fh)
显示:resource(89) of type (stream)
-
var_dump($insert_str)
显示了CSV文件中的所有1700条记录(显然过于大在这里发帖)
所以我猜while
声明或从if
声明是错误的地方。真的真的很感激这方面的一些帮助,我需要得到它明天工作(星期一)
答
你似乎使用codeigniter数据库库错误。我可以看到一个
$this->db->set($insert_str);
但没有$this->db->insert()
被发现。 set()
方法仅在update()
或insert()
之后有用,See the docs,搜索$this->db->set()
。
你或者想要使用$this->db->insert_batch()
(在同一个文档页面上,不幸的是没有直接链接的部分)形式并与你的记录一起构建一个数组的数组(这样你就不必创建一个长的sql字符串) )。 或者您可以使用$this->db->query()
,并将$insert_str
送到您现在拨打$this->db->set()
的地方。
根据你的问题:
的var_dump($ insert_str)表示从CSV文件中的所有1700条记录
,所以我会排除while
循环或可能性if
无法正常工作。
答
将这个代码在控制器的顶部或之前读csv文件
ini_set('auto_detect_line_endings', true);
检查这是否会为你
工作