Test.text
abc,def,ghi,jkl,...
无论如何,是否可以将每个插入到数据库中的每一行?
1 abc
2 def
...
有什么建议吗?
假设逗号始终是值的分隔符,你甚至不需要 PHP。
查看页面 http://dev.mysql.com/doc/refman/5.0/en/load-data.html
您可以从一个例子开始
mysql> LOAD DATA INFILE 'C:'path'data.txt' INTO TABLE db2.my_table;
取决于 Text.txt 文件的大小,但如果它很小,那么您可以这样做:
<?php
$text = file_get_contents('Test.txt');
$arrayOfTxt = explode(',',$text);
foreach($arrayOfTxt as $value){
//Insert trim($value)
}
?>
看看 php file_get_contents();
函数。http://php.net/manual/en/function.file-get-contents.php
看看 php explode();
函数。http://php.net/manual/en/function.explode.php
这会将您的字符串放入一个数组中,然后您可以将其插入到数据库中。
您可以使用 php 中的mysqli_*
函数执行 MySQL INSERT
查询。http://php.net/manual/en/mysqli.query.php
如果我
没记错的话,你可以用爆炸来做到这一点
$file = file_get_contents('file.txt');
$var = explode(",", $file);
$var
变量将是一个数组,在本例中包含 4 个位置(0,1,2, 3),其中 this('abc'、'def'、'ghi'、'jkl')。
不,您可以在表上插入值foreach
:
foreach($var as $x)
{
//YOUR INSERT GOES HERE. PASSING THE $x TO YOUR QUERY
}
只是补充布雷兰德的答案,你也可以像这样直接用MySQL做到这一点吗?
LOAD DATA INFILE '/test.txt' INTO TABLE test TERMINATED BY ','
如有必要,您可以添加以下内容:LINES STARTING BY 'xxx'
定义插入的开始位置。如果您想避免文件上的某些行,它很有用。
$file = fopen('test.txt', 'r');
$csv_array = fgetcsv($file);
foreach ($csv_array as $csv_data){
//Do your insertion code here.
}