2013-04-07 133 views
0

这是不正常的,因为我们之前讨论过,出于某种原因,我所做的是为上传的文件创建一些$varsCSV插入到数据库

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声明是错误的地方。真的真的很感激这方面的一些帮助,我需要得到它明天工作(星期一)

回答

0

你似乎使用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无法正常工作。

0

将这个代码在控制器的顶部或之前读csv文件

ini_set('auto_detect_line_endings', true);

检查这是否会为你

工作