0

这不像我们之前讨论的那样工作,由于某种原因,我所做的是$vars为上传的文件创建一些。

此处提供代码(Pastebin)。

但从来没有真正插入任何东西

  • 做时var_dump($csv_row)我得到:bool(false)
  • var_dump($fh)显示:resource(89) of type (stream)
  • var_dump($insert_str)显示 csv 文件中的所有 1700 条记录(显然太大,无法在此处发布)

所以我猜这个while陈述或整个 fromif陈述在某个地方是错误的。真的真的很感激这方面的帮助,我需要在明天(星期一)之前让它工作

4

2 回答 2

0

将此代码放在控制器顶部或读取 csv 文件之前

ini_set('auto_detect_line_endings', true);

检查这是否适合您

于 2013-04-08T08:04:09.203 回答
0

您似乎错误地使用了 codeigniter 数据库库。我可以看到一个

$this->db->set($insert_str);

$this->db->insert()找不到。该set()方法仅适用于update()insert()跟随它,请参阅文档,搜索$this->db->set().

您要么想要使用$this->db->insert_batch()(在同一个文档页面上,遗憾的是没有直接链接的部分)表单并使用您的记录构建一个数组数组(因此您也不必创建一个长的 sql 字符串)。或者您可以使用$this->db->query()$insert_str在您现在调用的地方将其提供给它$this->db->set()


根据你的问题:

var_dump($insert_str) 显示 csv 文件中的所有 1700 条记录

所以我会排除while循环或if不工作的可能性。

于 2013-04-07T20:59:21.217 回答