Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.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文件时出现问题_Php_Mysql_Csv - Fatal编程技术网

Php 上载csv文件时出现问题

Php 上载csv文件时出现问题,php,mysql,csv,Php,Mysql,Csv,如果特定月份的详细信息尚未出现,csv文件将插入新值;如果通过上载csv文件,特定月份的详细信息已出现在表中,csv文件将使用表中的新数据更新行 csv文件的最后一行在表payslip中的所有列中重复出现。我知道我的问题有些错误。但是我不知道怎么了。谁能帮我解决这个问题 <?php require_once '../config.php'; if(isset($_POST['upload'])) { $fname = $_FILES['sel_file']['name']; $month

如果特定月份的详细信息尚未出现,csv文件将插入新值;如果通过上载csv文件,特定月份的详细信息已出现在表中,csv文件将使用表中的新数据更新行

csv文件的最后一行在表payslip中的所有列中重复出现。我知道我的问题有些错误。但是我不知道怎么了。谁能帮我解决这个问题

<?php
require_once '../config.php';

if(isset($_POST['upload']))
{
$fname = $_FILES['sel_file']['name'];
$month = $_POST['month'];
$chk_file = explode(".",$fname);

if(strtolower($chk_file[1]) == 'csv')
{
//$sel=mysql_query("select * from employee where month='$month'");
//$del=mysql_query("delete from employee where month='$month'");
$query1 = mysql_query("SELECT * FROM payslips where month='$month'");
$pay_num_rows = mysql_num_rows($query1);
    $filename = $_FILES['sel_file']['tmp_name'];
    $handle = fopen($filename,"r");
    fgetcsv($handle,1000,",");
    if($pay_num_rows > 1)
    {
    while(($data = fgetcsv($handle,1000,",")) != false)
    {
    $upd = "UPDATE payslips SET    month='$data[9]',tot_work_days='$data[10]',lop_days='$data[11]',arrear_amt='$data[12]',leave_encash='$data[13]' where month='$month'";
    mysql_query($upd) or die(mysql_error());
    }
    fclose($handle);
    echo "Successfully Imported";
}
  if($pay_num_rows == 0)
{
while(($data = fgetcsv($handle,1000,",")) != false)
    {
    $sql = "INSERT into   payslips(employee_code,employee_name,employee_address,emp_dateofjoin,emp_designation,emp_hq,pf_num,esic_num,emp_state,month,tot_work_days,lop_days,arrear_amt,leave_encash) values('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]','$data[7]','$data[8]','$month','$data[10]','$data[11]','$data[12]','$data[13]')";

    //$upd = "UPDATE employee SET  month='$data[9]',tot_work_days='$data[10]',lop_days='$data[11]',arrear_amt='$data[12]',leave_encash='$data[13]' where month='$month'";
    mysql_query($sql) or die(mysql_error());
    }
    fclose($handle);
    echo "Successfully Imported";

}
else
 {
    echo "Invalid File";
}
}
}

?>

您可以更好地使用从上载的csv文件获取数据

在csv文件的最后一行中输入的数据将重复到其上一行。这正是我在上述代码中发现的错误。谁能帮我弄清楚我到底出了什么问题吗?我不明白你的意思。。你的意思是csv文件中的最后一条记录在db中被复制了好几次吗?是的,我本来可以用的,但现在太晚了。我只需要修复这个bug,就可以让应用程序暂时正常工作。所以我只需要有人帮我找出那个漏洞。