[英]Try uploading csv file to mysql using php and mysql
Good day everyone, I am quite new to php and I really need some help. 大家好,我对php很新,我真的需要一些帮助。 I am trying to upload a csv file to mysql database using php and html form, but it is giving me the following errors: 我正在尝试使用php和html表单将csv文件上传到mysql数据库,但是它给了我以下错误:
Notice: Undefined index: temp_name in C:\\xampp\\htdocs\\import csv\\importcsv.php on line 23 注意:未定义的索引:第23行的C:\\ xampp \\ htdocs \\ import csv \\ importcsv.php中的temp_name
Warning: fopen(): Filename cannot be empty in C:\\xampp\\htdocs\\import csv\\importcsv.php on line 24 警告:fopen():第24行的C:\\ xampp \\ htdocs \\ import csv \\ importcsv.php中的文件名不能为空
Warning: fgetcsv() expects parameter 1 to be resource, boolean given in C:\\xampp\\htdocs\\import csv\\importcsv.php on line 26 警告:fgetcsv()期望参数1为资源,第26行的C:\\ xampp \\ htdocs \\ import csv \\ importcsv.php中给出布尔值
Warning: fclose() expects parameter 1 to be resource, boolean given in C:\\xampp\\htdocs\\import csv\\importcsv.php on line 30 successfully imported 警告:fclose()期望参数1是资源,在C:\\ xampp \\ htdocs \\ import csv \\ importcsv.php中给出的布尔值在第30行成功导入
here is my code 这是我的代码
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
$db_host = 'localhost';
$db_user = 'root';
$db_pwd = '';
$db = 'mydb';
$table = 'user';
$conn = mysqli_connect($db_host, $db_user, $db_pwd) or die("Cant connect to database");
if(!mysqli_select_db($conn,$db))
die("Cant select to database");
if(isset($_POST['submit'])){
$fname = $_FILES['sel_file']['name'];
echo 'upload file name: '.$fname.' ';
$chk_ext = explode(".", $fname);
if(strtolower(end($chk_ext)) == "csv"){
$filename = $_FILES['sel_file']['temp_name'];
$handle = fopen($filename, "r");
while(($data = fgetcsv($handle, 1000, ",")) != FALSE){
$sql = "INSERT into user(name,email,phone) values('$data[0]', '$data[1]', '$data[2]')";
mysql_query($sql) or die(mysql_error());
}
fclose($handle);
echo "successfully imported";
}
else{
echo "Invalid file";
}
}
?>
<h1>Import csv file</h1>
<form action='<?php echo $_SERVER["PHP_SELF"];?>' method='post' enctype="multipart/form-data">
Import File : <input type='file' name='sel_file' size='20'>
<input type='submit' name='submit' value='submit'>
</form>
Can anyone please help me out 任何人都可以帮助我
I have updated some lines in your code. 我已经更新了代码中的一些行。
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
$db_host = 'localhost';
$db_user = 'root';
$db_pwd = '';
$db = 'mydb';
$table = 'user';
$conn = mysqli_connect($db_host, $db_user, $db_pwd, $db) or die("Cant connect to database");
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
if (isset($_POST['submit'])) {
$fname = $_FILES['sel_file']['name'];
echo 'upload file name: ' . $fname . ' ';
$chk_ext = explode(".", $fname);
if (strtolower(end($chk_ext)) == "csv") {
$filename = $_FILES['sel_file']['tmp_name'];
$handle = fopen($filename, "r");
while (($data = fgetcsv($handle, 1000, ",")) != FALSE) {
$sql = "INSERT into user(name,email,phone) values('".$data[0]."', '".$data[1]."', '".$data[2]."')";
mysqli_query($conn, $sql) or die(mysqli_error($conn));
}
fclose($handle);
echo "successfully imported";
} else {
echo "Invalid file";
}
}
?>
<h1>Import csv file</h1>
<form action='<?php echo $_SERVER["PHP_SELF"]; ?>' method='post' enctype="multipart/form-data">
Import File : <input type='file' name='sel_file' size='20'>
<input type='submit' name='submit' value='submit'>
</form>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.