我正在尝试在我的程序中创建一个功能,你可以通过从excel上传数据(上传excel文件)将数据上传到数据库我已经提供了下面的代码,但是数据库中的数据是编码的(我提供了一个截图)。 代码有问题吗?
Excel格式:
firstname lastname
_____________________
amir kumar
jhon doee
但这是插入数据库时数据的样子:
这是我的index.php:
<form enctype="multipart/form-data" method="post" action="import.php" role="form">
<div class="form-group">
<label for="exampleInputFile">File Upload</label>
<input type="file" name="file" id="file" size="150">
<p class="help-block">Only Excel/CSV File Import.</p>
</div>
<button type="submit" class="btn btn-default" name="Import" value="Import">Upload</button>
</form>
import.php
<?php
if(isset($_POST["Import"]))
{
//First we need to make a connection with the database
$host='localhost'; // Host Name.
$db_user= 'root'; //User Name
$db_password= '';
$db= 'testdatabase'; // Database Name.
$conn=mysql_connect($host,$db_user,$db_password) or die (mysql_error());
mysql_select_db($db) or die (mysql_error());
echo $filename=$_FILES["file"]["tmp_name"];
if($_FILES["file"]["size"] > 0)
{
$file = fopen($filename, "r");
$count = 0;
$sql_data = "SELECT * FROM person";
echo $sql_data;
while (($emapData = fgetcsv($file, 10000, ",")) !== FALSE)
{
//print_r($emapData);
//exit();
$count++;
if($count > 1) {
$sql = "INSERT into person(firstname , lastname) values ('$emapData[0]','$emapData[1]')";
mysql_query($sql);
echo "success";
}
}
fclose($file);
echo 'CSV File has been successfully Imported';
header('Location: index.php');
}
else
echo 'Invalid File:Please Upload CSV File';
}
?>
答案 0 :(得分:0)
不要按原样使用Excel文件。你看到了什么胡言乱语。
相反,请执行以下操作之一:
&#34;出口&#34;将Excel中的数据转换为.csv文件,然后将LOAD DATA
转换为MySQL。
使用PHP API可以从Excel获取数据。然后将INSERT
数据放入MySQL表中。