我正在尝试用php页面导入一个csv文件到mysql里面,遇到了一个问题,它被忽略了。我该怎么解决呢?我留下了import.php文件的代码,先谢谢你了。
C:用户桌面链接logo_ariel.png
C:\Users\venic\Desktop\link\logo_ariel.png
安德里亚
<?php
include_once("db_connect.php");
if(isset($_POST['import_data'])){
// validate to check uploaded file is a valid csv file
$file_mimes = array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel', 'text/plain');
if(!empty($_FILES['file']['name']) && in_array($_FILES['file']['type'],$file_mimes)){
if(is_uploaded_file($_FILES['file']['tmp_name'])){
$csv_file = fopen($_FILES['file']['tmp_name'], 'r');
//fgetcsv($csv_file);
// get data records from csv file
while(($emp_record = fgetcsv($csv_file)) !== FALSE){
// Check if employee already exists with same email
$sql_query = "SELECT emp_id, campo_1a, campo_1b, campo_1a_1, campo_1c, campo_2a, campo_2b, campo_3a, campo_3a_1, campo_3b, campo_3c, campo_4a, campo_5a, campo_5b, campo_6a, campo_7a, campo_7b, campo_8a, campo_8b, campo_9a, campo_9b, campo_10a, campo_10b, campo_10a1, campo_10b1, campo_11a, campo_11b, campo_12a, campo_12b, campo_13a, campo_13b, campo_13c, campo_14, campo_15, campo_16, campo_17, campo_18, campo_19, campo_20, campo_21a, campo_21b, campo_21c1, campo_21c2, campo_21c3, campo_21c4, campo_21d, campo_30a, campo_30b, campo_30c, campo_31, campo_32, campo_33, campo_34, campo_35, campo_35_1, campo_36, campo_37, campo_38, campo_39, campo_39_1, campo_40, campo_41, campo_42, campo_43, quantita_d, quantita_e FROM emp WHERE campo_22 = '".$emp_record[1]."'";
$resultset = mysqli_query($conn, $sql_query) or die("database error:". mysqli_error($conn));
// if employee already exist then update details otherwise insert new record
if(mysqli_num_rows($resultset)) {
$sql_update = "UPDATE emp set campo_1a='".$emp_record[2]."', campo_1b='".$emp_record[3]."', campo_1a_1='".$emp_record[4]."', campo_1c='".$emp_record[5]."', campo_2a='".$emp_record[6]."', campo_2b='".$emp_record[7]."', campo_3a='".$emp_record[8]."', campo_3a_1='".$emp_record[9]."', campo_3b='".$emp_record[10]."', campo_3c='".$emp_record[11]."', campo_3d='".$emp_record[12]."', campo_4a='".$emp_record[13]."', campo_5a='".$emp_record[14]."', campo_5b='".$emp_record[15]."', campo_6a='".$emp_record[16]."', campo_6b='".$emp_record[17]."', campo_7a='".$emp_record[18]."', campo_7b='".$emp_record[19]."', campo_8a='".$emp_record[20]."', campo_8b='".$emp_record[21]."', campo_9a='".$emp_record[22]."', campo_9b='".$emp_record[23]."', campo_10a='".$emp_record[24]."', campo_10b='".$emp_record[25]."', campo_10a1='".$emp_record[26]."', campo_10b1='".$emp_record[27]."', campo_11a='".$emp_record[28]."', campo_11b='".$emp_record[29]."', campo_12a='".$emp_record[30]."', campo_12b='".$emp_record[31]."', campo_13a='".$emp_record[32]."', campo_13b='".$emp_record[33]."', campo_13c='".$emp_record[34]."', campo_14='".$emp_record[35]."', campo_15='".$emp_record[36]."', campo_16='".$emp_record[37]."', campo_17='".$emp_record[38]."', campo_18='".$emp_record[39]."', campo_19='".$emp_record[40]."', campo_20='".$emp_record[41]."', campo_21a='".$emp_record[42]."', campo_21b='".$emp_record[43]."', campo_21c1='".$emp_record[44]."', campo_21c2='".$emp_record[45]."', campo_21c3='".$emp_record[46]."', campo_21c4='".$emp_record[47]."', campo_21d='".$emp_record[48]."', campo_30a='".$emp_record[49]."', campo_30b='".$emp_record[50]."', campo_30c='".$emp_record[51]."', campo_31='".$emp_record[52]."', campo_32='".$emp_record[53]."', campo_33='".$emp_record[54]."', campo_34='".$emp_record[55]."', campo_35='".$emp_record[56]."', campo_35_1='".$emp_record[57]."', campo_36='".$emp_record[58]."', campo_37='".$emp_record[59]."', campo_38='".$emp_record[60]."', campo_39='".$emp_record[61]."', campo_39_1='".$emp_record[62]."', campo_40='".$emp_record[63]."', campo_41='".$emp_record[64]."', campo_42='".$emp_record[65]."', campo_43='".$emp_record[66]."', quantita_d='".$emp_record[67]."', quantita_e='".$emp_record[68]."' WHERE campo_22 = '".$emp_record[1]."'";
mysqli_query($conn, $sql_update) or die("database error:". mysqli_error($conn));
} else{
$mysql_insert = "INSERT INTO emp (campo_22, campo_1a, campo_1a_1, campo_1b, campo_1c, campo_2a, campo_2b, campo_3a, campo_3a_1, campo_3b, campo_3c, campo_3d, campo_4a, campo_5a, campo_5b, campo_6a, campo_6b, campo_7a, campo_7b, campo_8a, campo_8b, campo_9a, campo_9b, campo_10a, campo_10b, campo_10a1, campo_10b1, campo_11a, campo_11b, campo_12a, campo_12b, campo_13a, campo_13b, campo_13c, campo_14, campo_15, campo_16, campo_17, campo_18, campo_19, campo_20, campo_21a, campo_21b, campo_21c1, campo_21c2, campo_21c3, campo_21c4, campo_21d, campo_30a, campo_30b, campo_30c, campo_31, campo_32, campo_33, campo_34, campo_35, campo_35_1, campo_36, campo_37, campo_38, campo_39, campo_39_1, campo_40, campo_41, campo_42, campo_43, quantita_d, quantita_e)VALUES('".$emp_record[1]."', '".$emp_record[2]."', '".$emp_record[3]."', '".$emp_record[4]."', '".$emp_record[5]."', '".$emp_record[6]."', '".$emp_record[7]."', '".$emp_record[8]."', '".$emp_record[9]."', '".$emp_record[10]."', '".$emp_record[11]."', '".$emp_record[12]."', '".$emp_record[13]."', '".$emp_record[14]."', '".$emp_record[15]."', '".$emp_record[16]."', '".$emp_record[17]."', '".$emp_record[18]."', '".$emp_record[19]."', '".$emp_record[20]."', '".$emp_record[21]."', '".$emp_record[22]."', '".$emp_record[23]."', '".$emp_record[24]."', '".$emp_record[25]."', '".$emp_record[26]."', '".$emp_record[27]."', '".$emp_record[28]."', '".$emp_record[29]."', '".$emp_record[30]."', '".$emp_record[31]."', '".$emp_record[32]."', '".$emp_record[33]."', '".$emp_record[34]."', '".$emp_record[35]."', '".$emp_record[36]."', '".$emp_record[37]."', '".$emp_record[38]."', '".$emp_record[39]."', '".$emp_record[40]."', '".$emp_record[41]."', '".$emp_record[42]."', '".$emp_record[43]."', '".$emp_record[44]."', '".$emp_record[45]."', '".$emp_record[46]."', '".$emp_record[47]."', '".$emp_record[48]."', '".$emp_record[49]."', '".$emp_record[50]."', '".$emp_record[51]."', '".$emp_record[52]."', '".$emp_record[53]."', '".$emp_record[54]."', '".$emp_record[55]."', '".$emp_record[56]."', '".$emp_record[57]."', '".$emp_record[58]."', '".$emp_record[59]."', '".$emp_record[60]."', '".$emp_record[61]."', '".$emp_record[62]."', '".$emp_record[63]."', '".$emp_record[64]."', '".$emp_record[65]."', '".$emp_record[66]."', '".$emp_record[67]."', '".$emp_record[68]."')";
mysqli_query($conn, $mysql_insert) or die("database error:". mysqli_error($conn));
}
}
fclose($csv_file);
$import_status = '?import_status=success';
} else {
$import_status = '?import_status=error';
}
} else {
$import_status = '?import_status=invalid_file';
}
}
header("Location: index.php".$import_status);
?>
2条答案
按热度按时间8ftvxx2r1#
您应该准备一个参数化查询,然后将值绑定到该查询。
这有许多好处,
1.防止SQL注入。
1.您可以自动安全地处理奇怪的数据,如名称
Peter O'Toole
和C:\
。1.您可以只准备一次查询,然后在循环中重复使用它,每次执行查询时应用不同的数据。这意味着您可以减少往返服务器的次数以及服务器运行查询所需的工作量
oprakyz72#
当你尝试用PHP导入到MySQL时,CSV文件中的反斜线被忽略了。这可能是因为反斜线在PHP字符串中被用作转义字符,因此它们被解释为转义字符。