У меня есть фрагмент кода ниже, который отлично работает, когда я пытаюсь загрузить CSV-файл с относительно небольшими (~ 500) записями. Однако, когда записи становятся больше (я пробовал 20 000), это вызывает следующую ошибку.
У вас есть ошибка в вашем синтаксисе sql. Проверьте руководство, соответствующее вашей версии сервера mysql, чтобы узнать правильный синтаксис для использования рядом с 'S FANCY-KNDY0046', '1298', '32321', 'QE4224', '2' ) 'в строке 1
Мой INSERT into
выглядит следующим образом: (На самом деле пока не думал о том, чтобы очистить входные данные, но ваши мысли тоже пригодятся!)
if($_FILES["file"]["size"] > 0)
{
$file = fopen($filename, "r");
while (($emapData = fgetcsv($file, 10000, ",")) !== FALSE)
{
$sql = "INSERT into universe (`zone`, `area`, `sub`) values('$emapData[0]','$emapData[1]','$emapData[2]')";
$result = mysqli_query($conn, $sql);
if(!$result )
{
echo "ERROR:". mysqli_error($conn); // I included this to see the error message.
echo "<script type=\"text/javascript\">
alert(\"Invalid File:Please Upload CSV File.\");
window.location = \"index.php\"
</script>";
}
}
fclose($file);
echo "<script type=\"text/javascript\">
alert(\"CSV File has been successfully Imported.\");
window.location = \"index.php\"
</script>";
mysqli_close($conn);
}
Цените, если кто-то может указать мне, если я здесь что-то не так делаю! Спасибо.