本文介绍了在PHP中导入Excel的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
值未映射到数据库表列中
values are not mapping in database table columns
这是我的代码
<?php
if (isset($_POST["import"])) {
ini_set('max_execution_time', 120); //300 seconds = 5 minutes
//$filename = $_FILES['file']['name'];
$file = $_FILES['file']['tmp_name'];
//$ext=substr($file,strrpos($file,"."),(strlen($file)-strrpos($file,".")));
//if($ext=="csv")
$handle = fopen($file, "r");
//$c = 0;
while(($filesop = fgetcsv($handle,",")) !== false)
{
$category = mysqli_real_escape_string($filesop[0]);
$tags = mysqli_real_escape_string($filesop[1]);
$title = mysqli_real_escape_string($filesop[2]);
$url = mysqli_real_escape_string( $filesop[3]);
$description = mysqli_real_escape_string($filesop[4]);
$date = mysqli_real_escape_string($filesop[5]);
//print_r($filesop);
var_dump($filesop);
//echo $filesop[0];
$sql = "insert into report(category,tags,title,url,description,date) values ('$category','$tags','$title','$url','$description','$date')";
//$c = $c + 1;
$result=mysqli_query($conn,$sql)or die($sql."<br/><br/>".mysql_error());
//echo $sql;
//echo $filesop[1];
//echo "success";
exit();
}
//if($result){
//echo " upload success";
//ini_set('auto_detect_line_endings',FALSE);
fclose($handle);
// }
//else
// echo "cannot upload csv file";
}
mysqli_close($conn);
?>
在我的输出屏幕中返回空值
var_dump($filesop);
我的数据库示例屏幕截图
我的csv文件
Marketing & Customer Analytics,Trends & Product Updates,Segment Launches Segment Select,https://martechseries.com/analytics/customer-data-platforms/segment-launches-segment-select-new-program-help-companies-leverage-first-party-data-certified-partners/,"Segment, the customer data infrastructure company, launched Segment Select, a new program designed to help Channel and Technology Partners easily build and implement solutions for their customers that leverage Segment’s Customer Data Infrastructure (CDI).",2/24/2019
推荐答案
代码中的问题 mysqli_real_escape_string
,您错过了函数。您需要在 mysqli_real_escape_string
函数中传递数据库对象。
像例子:
The issue in your code mysqli_real_escape_string
, you missed parameters in mysqli_real_escape_string function. You need to pass the database object in mysqli_real_escape_string
function. Like example :
您的代码: $ category = mysqli_real_escape_string($ filesop [0]);
新代码: $ category = mysqli_real_escape_string($ conn,$ filesop [0 ]);
下面的有用代码也请检查一下。
also helpful code below please check it.
while(($filesop = fgetcsv($handle,",")) !== false)
{
$category = mysqli_real_escape_string($conn, $filesop[0]);
$tags = mysqli_real_escape_string($conn, $filesop[1]);
$title = mysqli_real_escape_string($conn, $filesop[2]);
$url = mysqli_real_escape_string($conn, $filesop[3]);
$description = mysqli_real_escape_string($conn, $filesop[4]);
$date = mysqli_real_escape_string($conn, $filesop[5]);
$sql = "insert into report(category,tags,title,url,description,date) values ('$category','$tags','$title','$url','$description','$date')";
$result=mysqli_query($conn,$sql)or die($sql."<br/><br/>".mysqli_error($conn));
exit();
}
这篇关于在PHP中导入Excel的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!