【发布时间】:2015-11-22 16:53:56
【问题描述】:
我正在尝试学习如何将新记录上传到 MySQL 表,但到目前为止似乎失败了。我的尝试:
$uploaded = $_FILES["fileupload"]["name"];
`$try = mysqli_query($connect,"LOAD DATA INFILE IGNORE $uploaded INTO TABLE allrecords");`
我得到一个错误。这是意料之中的,因为代码是一团糟。我尝试在 Google 中搜索,但似乎都只提供将每条记录一一插入到数据库中。我使用标签选择 Excel CSV 文件(从 Excel 导出),然后在接收的 PHP 文件上使用此查询。
我使用 LOAD DATA INFILE IGNORE 是因为我想将新记录上传到数据库,但不包括数据库中已经存在主键的记录。另外我不确定如何执行 LOAD DATA INFILE 并匹配每个字段。我是否需要重命名 Excel CSV 中的每个列名称/标题以匹配数据库中的字段名称?
【问题讨论】:
-
发布您的错误消息或堆栈跟踪。
-
我认为他想要做的@TimBiegeleisen 是将
'/full/path/to/filename'周围的那些单引号括起来,讽刺的是没有ignore 1 lines,并将第1 行调整为完美 -
@Drew 将此作为答案发布。并且 OP 应该包含错误输出。这样我就不必胡乱猜测了。
-
啊,复活你的,不知道我有没有实力:>
-
是的,伙计们,我刚刚在那个答案上确认了它。如果我不做单引号,我会得到错误 1064。把它们放回去,我得到我的出口。 OUTFILE 和 LOAD DATA INFILE 以语法挑剔的方式连接起来,并且几乎共享所有内容