Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php将数据本地填充csv到mysql_Php_Mysql_Csv_Load Data Infile - Fatal编程技术网

php将数据本地填充csv到mysql

php将数据本地填充csv到mysql,php,mysql,csv,load-data-infile,Php,Mysql,Csv,Load Data Infile,我已经尝试了一段时间,在这里问我的第一个问题之前,我尽可能多地调查了各种途径 我有一个非常简单的csv文件。一列,由linux换行符分隔的数据。我想将其导入表codes的第2列passcode。第一列是主键自动递增 以下是简单的csv数据linux行馈送-\n A12345678911 A12345678912 A12345678913 A12345678914 这是收集文件的表格 <form enctype="multipart/form-data" action="upload_we

我已经尝试了一段时间,在这里问我的第一个问题之前,我尽可能多地调查了各种途径

我有一个非常简单的csv文件。一列,由linux换行符分隔的数据。我想将其导入表codes的第2列passcode。第一列是主键自动递增

以下是简单的csv数据linux行馈送-\n

A12345678911
A12345678912
A12345678913
A12345678914
这是收集文件的表格

<form enctype="multipart/form-data" action="upload_webcodes.php" method="post">
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
        <input type="hidden" name="success" value="success" />
    Send this file: <input name="webcodeupload" type="file" />
    <input type="submit" value="Send File" />
</form>  
看来,预期的结果有没有?我已经在phpmyAdmin中尝试了这个查询,如果我删除以子句结尾的行,它就会工作。我怀疑这是phpmyAdmin的问题,我也尝试过在查询中使用和不使用该子句的代码

此外,加载页面时还有一些未定义的索引错误。我有点理解其中的原因,并且在这里阅读了一些说明如何掩盖错误的线索,但是我想知道如何避免它们而不是隐藏它们

任何意见都将不胜感激


谢谢。

首先,您已经正确地分析了,文件应该在/tmp/php中。所以,你应该检查一下

/tmp/php文件夹中的权限。 为了让MySQL能够从/tmp/php目录中读取文件,在linux中,不要忘记在/etc/apparmor.d/usr.sbin.mysqld中通过添加以下行/tmp/php/**rwk来设置apparmor配置,
将您的条件更改为:

if ($_FILES['webcodeupload']['type'] == 'text/csv') {
    // what you have now
}
您提供的转储显示表单输入字段是webcodeupload,但您的PHP正在检查上传

脚本结束时文件不存在的原因是,php就是这样工作的。必须调用该函数才能将上载的文件实际移动到某个位置,否则PHP会在脚本结束时删除该文件,以防止资源消耗攻击


请注意,if语句中的内容可能还有其他问题,但这会让您更接近。

检查mysql\u查询的返回值。负载查询可能失败了,但您没有捕获任何返回值,这意味着您只是假设它全部成功。至少:$result=mysql\u查询。。。或DIEU错误。请参阅此问题的答案:
Array
(
    [webcodeupload] => Array
        (
            [name] => Aimport.csv
            [type] => text/csv
            [tmp_name] => /Applications/MAMP/tmp/php/phpsp9ezx
            [error] => 0
            [size] => 52
        )

)
if ($_FILES['webcodeupload']['type'] == 'text/csv') {
    // what you have now
}