我想跳过csv的第一行(头部分),而上传到mysql使用php,但它总是插入到mysql表的第一行,它也不上传mysql的总记录。我的csv中有1000条记录,但一次只能上传174条记录。我使用下面的代码上传到mysql的csv。任何人都知道我做错了什么。
<?php
include 'config.php';
$flag = true;
if(isset($_POST["import"])){
$filename=$_FILES["file"]["tmp_name"];
if($_FILES["file"]["size"] > 0)
{
$file = fopen($filename, "r");
while (($getData = fgetcsv($file, 10000, ",")) !== FALSE)
{
if($flag)
{
$flag = false;
continue;
}
$sql = "INSERT into tbl_customer(customer_name,customer_excise_code,city)
values ('".$getData[0]."','".$getData[1]."','".$getData[2]."')";
$result = mysqli_query($conn, $sql);
if(!isset($result))
{
echo "<script type=\"text/javascript\">
alert(\"Invalid File:Please Upload CSV File.\");
window.location = \"index.php\"
</script>";
}
else {
echo "<script type=\"text/javascript\">
alert(\"CSV File has been successfully Imported.\");
window.location = \"index2.php\"
</script>";
}
}
fclose($file);
}
}
?>
1条答案
按热度按时间svdrlsy41#
您可以尝试以下建议:
检查文件中是否有空行
if($flag) {...}
你的支票isset()
将始终返回true,因为mysqli\u query()返回boolean或object,所以您不知道语句是否正确执行。你执行INSERT
语句,在本例中是mysqli_query()
将是布尔值,所以只需检查$result
.PHP: