0

テスト.テキスト

abc,def,ghi,jkl,...

とにかくデータベースの各行にそれぞれを挿入することは可能ですか?

1 abc
2 def
...

何か提案はありますか?

4

5 に答える 5

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;
于 2012-06-12T19:43:14.897 に答える
1

phpfile_get_contents();関数を見てください。 http://php.net/manual/en/function.file-get-contents.php

phpexplode();関数を見てください。 http://php.net/manual/en/function.explode.php

これにより、文字列が配列に取得され、データベースに挿入できます。

PHP の関数 を使用して MySQLINSERTクエリを実行できます。http://php.net/manual/en/mysqli.query.phpmysqli_*

于 2012-06-12T19:33:08.050 に答える
1

Text.txt ファイルの大きさによって異なりますが、小さい場合は次のようにできます。

<?php 
$text = file_get_contents('Test.txt');
$arrayOfTxt = explode(',',$text);

foreach($arrayOfTxt as $value){
    //Insert trim($value)
}
?>
于 2012-06-12T19:35:05.743 に答える
0
$file = fopen('test.txt', 'r');   
$csv_array = fgetcsv($file);   
foreach ($csv_array as $csv_data){
            //Do your insertion code here.

 }
于 2012-06-12T19:48:58.573 に答える
0

私が間違っていなければ、explodeでそれを行うことができます

$file = file_get_contents('file.txt');
$var = explode(",", $file);

変数は、この$var場合、this('abc','def','ghi','jkl') を持つ 4 つの位置 (0,1,2, 3) を含む配列になります。

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'挿入を開始する場所を定義します。ファイルの一部の行を避けたい場合に便利です。

于 2012-06-12T19:35:00.613 に答える