导入txt文件/数据到我的MySQL数据库

本·泰勒

我有一个包含1000个用户名的txt文件。它们由行分隔。(折线)。

我想将这些用户名导入到我的mysql表中。我已经尝试过csv方法,但是它不像上载txt文件那样简单。因为我需要将txt文件转换为csv文件,所以很浪费时间。

CSV导入代码:

mysql_connect('localhost', 'user', 'pass') or die(mysql_error());   
mysql_select_db('db_name') or die(mysql_error());   

$lines = file('import.txt');   
$company_names = "";   
$insert_string = "INSERT INTO `ImportedWordList`(`Word`) VALUES";  
$counter = 0;  
$maxsize = count($lines);  
foreach($lines as $line => $company) {  
$insert_string .= "('".$company."')";  
$counter++;  
if($counter < $maxsize){  
$insert_string .= ",";  
}//if  
}//foreach  
mysql_query($insert_string) or die(mysql_error()); 

我还尝试了一种导入txt数据的方法,但txt文件必须在服务器上。这也浪费了我的时间,因为如果我们谈论的是大文件。将这些文件上传到服务器,然后才开始将它们上传到数据库,这是浪费时间和精力的。

代码:

<?php   

//connect to the database  
$connect = mysql_connect("localhost","username","password");  
mysql_select_db("mydatabase",$connect); //select the table  
//  

if ($_FILES[csv][size] > 0) {  

    //get the csv file  
    $file = $_FILES[csv][tmp_name];  
    $handle = fopen($file,"r");  

    //loop through the csv file and insert into database  
    do {  
        if ($data[0]) {  
            mysql_query("INSERT INTO contacts (contact_first, contact_last, contact_email) VALUES  
                (  
                    '".addslashes($data[0])."',  
                    '".addslashes($data[1])."',  
                    '".addslashes($data[2])."'  
                )  
            ");  
        }  
    } while ($data = fgetcsv($handle,1000,",","'"));  
    //  

    //redirect  
    header('Location: import.php?success=1'); die;  

}  

?>  

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />  
<title>Import a CSV File with PHP & MySQL</title>  
</head>  

<body>  

<?php if (!empty($_GET[success])) { echo "<b>Your file has been imported.</b><br><br>"; } //generic success notice ?>  

<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">  
  Choose your file: <br />  
  <input name="csv" type="file" id="csv" />  
  <input type="submit" name="Submit" value="Submit" />  
</form>  

</body>  
</html>

我对导入txt数据的最佳方式感兴趣,也许使用文本框,然后将用户名粘贴到其中,然后上传用户名,或者上传txt文件,但不会将其保存在服务器上,它只会导入其中的内容。

寻求帮助,谢谢。

dg131

看一下这段代码,它应该可以实现您的目的:

<?php
$input_file = fopen("your_input_file.txt", "r") or die("Unable to open file!");
$output_file = fopen("your_output_file.txt", "w");
while(!feof($input_file)) {
    $user = fgets($input_file);
    $user = trim($user);
    $query = "insert into table_name values ('" . $user . "');\n";
    fwrite($output_file, $query);
    echo $query;
}
fclose($input_file);
fclose($output_file);
?>

只需用输入和输出文件的文件名替换your_input_file和your_output_file。

一些其他信息:

  1. 我已经使用过修剪功能来截断将与用户一起读取的尾随\ n(因为您说过文件中的换行符用作分隔符)
  2. 如果不存在该输出文件,则将创建该文件,因此您不必担心。只需输入一个有效的文件名。
  3. 输入文件必须在此php代码所在的目录中。同样,将在该目录中创建输出。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从json_url获取数据以及如何插入到我的MySQL数据库

C#导入多个txt文件数据变得混乱

为什么我不能使用MySQL Workbench连接到我的MySQL数据库?

使用php将csv文件导入mysql数据库

如何使用pandas和pyodbc将CSV文件数据导入到我的数据库中?

我希望能够将附件数据保存到我的mysql数据库中。我猜这意味着我必须将我的附件数据保存到TStream中

在导入数据库之前验证Excel文件数据

将数据从Google API导入到我的数据库

如何将数据从txt文件导入到MySQL数据库

无法在Godaddy上将数据发布到我的数据库

如何将大尺寸的.txt文件数据拆分为小部分并插入数据库中?

将转储/ SQL文件导入到我的Linode上的PostgreSQL数据库中

使用php将txt文件导入mysql数据库

将数据库导入MySQL数据库

导入CSV文件到MySQL数据库

CD的平面文件数据库

每天从sftp导入.csv文件到MySQL数据库

我想将我的 mySQL 数据库连接到我的 xcode 项目

Django save() 方法不会将数据插入到我的 Mysql 数据库中

用于 MySQL 数据库的 VARCHAR(MAX) 与 TEXT 与 .txt 文件

将txt文件写入mySQL数据库

使用php将csv文件数据插入mysql数据库

mysql数据库导入

在将文件、数据保存到我的 sqli 数据库时出现错误 #1064?

无法使用 c# 将数据从 excel 文件上传到我的数据库 (mysql)

为什么我不能上传文件到我的数据库?

Nodejs + mySQL 数据没有发送到我的数据库

我的 python 代码拒绝连接到我的 MySQL 数据库文件

尝试在python中导入数据时找不到我的firebase实时数据库