Test.text
abc,def,ghi,jkl,...
是否有可能将每一个插入数据库中的每一行?
1 abc
2 def
...
有什么建议吗?
答案 0 :(得分:2)
假设逗号始终是值的分隔符,您甚至不需要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;
答案 1 :(得分:1)
查看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中的INSERT
函数执行MySQL mysqli_*
查询。
http://php.net/manual/en/mysqli.query.php
答案 2 :(得分:1)
取决于Text.txt文件的大小,但如果它的小,那么你可以这样做:
<?php
$text = file_get_contents('Test.txt');
$arrayOfTxt = explode(',',$text);
foreach($arrayOfTxt as $value){
//Insert trim($value)
}
?>
答案 3 :(得分:0)
如果我没错,可以使用explode
执行此操作$file = file_get_contents('file.txt');
$var = explode(",", $file);
$var
变量将是一个数组,在这种情况下,包含4个位置(0,1,2,3)('abc','def','ghi','jkl')
不,你可以foreach
在你的桌子上插入值:
foreach($var as $x)
{
//YOUR INSERT GOES HERE. PASSING THE $x TO YOUR QUERY
}
只是补充Breland的答案,你也可以直接用MySQL这样做吗?
LOAD DATA INFILE '/test.txt' INTO TABLE test TERMINATED BY ','
如有必要,您可以添加:LINES STARTING BY 'xxx'
来定义插入的开始位置。如果您想避免文件中的某些行,这非常有用。
答案 4 :(得分:0)
$file = fopen('test.txt', 'r');
$csv_array = fgetcsv($file);
foreach ($csv_array as $csv_data){
//Do your insertion code here.
}