2012-05-01 8 views
0

タブ区切りの.txtファイルを読んでコード化して、各データ列(タブで区切られています)をphp変数に置きます。例えば区切られたtxtファイルを配列に変換しますか? mysqlを更新PHP

....

505050 somedata moredata

、全体を作るように見えたが、その後、

$id $somedata $moredata

にこれらの変数を書いて、私はfgetcsvに読み込まれ、配列を作ります私はそれをMySQLデータベースの個々の列に書くことができるように変数に分割する必要があります。

誰でも私に何かポインタを教えてもらえますか?

おかげでそんなに...

答えて

5

fgetcsv()list()の組み合わせは、名前の変数にこれを分割するための最も効率的な方法になります。

list($id, $somedata, $moredata) = fgetcsv($fp, 0, "\t"); 

しかし、あなたは、それらを持っている必要はありません

$row = fgetcsv($fp, 0, "\t"); 

$query = " 
    INSERT INTO `tablename` 
    (`id`, `somedata`, `moredata`) 
    VALUES 
    ('{$row[0]}', '{$row[1]}', '{$row[2]}') 
"; 

:名前付き変数は、MySQLでそれらを挿入するために、あなただけのfgetcsv()によって返された生の配列を使用することができますクエリで使用する前にデータをエスケープすることを忘れないでください;

+0

ああ、私は私の答えに失敗しました。 fgetcsvについては決して知らなかった。 +1あなたのため: – Sietse

+0

ありがとう、私は爆発を使用して見てみましょう! – fyllepo

+0

デイブさん、ありがとうございました – fyllepo

0

explode()は文字列を分割します。 $stringが分割したい文字列です

list($id, $somedata, $moredata) = explode("\t", $string);

:これを試してみてください。 explode()とlist()の詳細については、php.netを参照してください。

+0

ありがとうございました!私はexplode関数を使って調べます! – fyllepo

関連する問題