Я работаю над веб-сайтом, который потребовал от меня создать функцию для загрузки CSV файла. При загрузке файла он говорит неправильный формат и отображает это сообщение:
C:\XAMPP\TMP\php9F4F.tmp
p/s: Я уже конвертирую файл excel в формат.csv с разделителями-запятыми и все равно получаю ошибку при загрузке.
Что делать, чтобы разрешить ошибку, а затем загрузить файл csv в мою базу данных?
stdreport.php://im используя тот же код из import.php здесь, чтобы подключить его к базе данных
<?php
$SQLSELECT = "SELECT stdCard, stdName, stdProgram, stdCourseDesc, stdCampus
FROM student
ORDER BY stdID
LIMIT 0,20";
$result_set = mysql_query($SQLSELECT, $conn);
while($row = mysql_fetch_array($result_set))
{
?>
import.php
<?php
$conn=mysql_connect("localhost","root","") or die("Could not connect");
mysql_select_db("dashboard",$conn) or die("could not connect database");
if(isset($_POST["Import"])){
echo $filename=$_FILES["file"]["tmp_name"];
if($_FILES["file"]["size"] > 0) {
$file = fopen($filename, "r");
while (($emapData = fgetcsv($file, 10000, ",")) !== FALSE) {
//It wiil insert a row to our subject table from our csv file'
$sql = "INSERT into student
('stdID', 'stdCard', 'stdName',
'stdOfficialEmail','stdEmail',
'stdContNum','stdCourseDesc', 'stdCampus',
'accessDate')
values('$emapData[1]','$emapData[2]','$emapData[3]',
'$emapData[4]','$emapData[5]',
'$emapData[6]', '$emapData[7]','$emapData[8]',
'$emapData[9]')";
//we are using mysql_query function. it returns a resource on true else False on error
$result = mysql_query( $sql, $conn );
if(! $result ) {
echo "<script type=\"text/javascript\">
alert(\"Invalid File:Please Upload CSV File.\");
window.location = \"stdreport.php\"
</script>";
}
}
fclose($file);
//throws a message if data successfully imported to mysql database from excel file
echo "<script type=\"text/javascript\">
alert(\"CSV File has been successfully Imported.\");
window.location = \"stdreport.php\"
</script>";
//close of connection
mysql_close($conn);
}
}
?>
Когда вы конвертируете файл excel в CSV, существует два типа CSA форматов CSV UTF-8 (с разделителями-запятыми), а второй - CSV (с разделителями-запятыми), используйте второй вариант, который я также добавил в скриншот.
mysql_
базы данныхmysql_
в новом коде, это случается, это устарело, оно было годами и навсегда исчезло в PHP7. Если вы только изучаете PHP, потратьте свои силы на изучение расширений базы данныхPDO
илиmysqli
и подготовленных операторов. Начало здесь