如何从PHP导入Excel文件到MySQL数据库

可以说,我想从PHP导入/上传Excel文件到MySQL

我的HTML如下所示

<form enctype="multipart/form-data" method="post" 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> 

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= 'product_record'; // 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"); //$sql_data = "SELECT * FROM prod_list_1 "; while (($emapData = fgetcsv($file, 10000, ",")) !== FALSE) { //print_r($emapData); //exit(); $sql = "INSERT into prod_list_1(p_bench,p_name,p_price,p_reason) values ('$emapData[0]','$emapData[1]','$emapData[2]','$emapData[3]')"; mysql_query($sql); } fclose($file); echo 'CSV File has been successfully Imported'; header('Location: index.php'); } else echo 'Invalid File:Please Upload CSV File'; } ?> 

Excel文件如下所示

excel文件图片

我只想将第二行的值导入到我的表中。 请帮助我如何解决它或给我任何资源。 我能够上传Excel文件,但它没有正确的格式。 我想在mysql的4列中上传4列,但是它在mysql的1列中上传4列。 我错过了什么?

对于> =第二行值插入到表格 –

 $file = fopen($filename, "r"); //$sql_data = "SELECT * FROM prod_list_1 "; $count = 0; // add this line while (($emapData = fgetcsv($file, 10000, ",")) !== FALSE) { //print_r($emapData); //exit(); $count++; // add this line if($count>1){ // add this line $sql = "INSERT into prod_list_1(p_bench,p_name,p_price,p_reason) values ('$emapData[0]','$emapData[1]','$emapData[2]','$emapData[3]')"; mysql_query($sql); } // add this line } 

您可能在使用某种CSV文件时遇到问题。

用文本编辑器打开CSV文件,检查所有的分离是否完成了昏迷teken(,),而不是分号,再次尝试脚本。 它应该工作正常。