0
$lines = file('array2.txt');
    foreach($lines as $line)
    {
        mysql_query("INSERT INTO test (Tweet, Date) VALUES ('$line', '22')");
    } 

こんにちは、みんな、

上記のコードを使用して、file() 関数を使用してテキスト ファイルから行を配列に追加しようとしているので、それを mysql データベースに配置できます。私が使用しているファイルには 100 行が含まれていますが、上記の関数を使用すると 116,000 行を超えてしまいます。誰がこれを引き起こしているのか知っていますか? 前もって感謝します。

4

2 に答える 2

1

たぶん、この方法を試してみてください。ファイルの最終行まで読みます。

$file = fopen("file.txt", "r");
while (!feof($file)) {
    $line = fgets($file);
    // Code where you make DB INSERT
}
fclose($file);

私にとってこれは機能し、他のレコードは取得せず、私が書き込んだ10件のみです。

于 2013-08-26T13:20:08.820 に答える
0

これを試して:

<?php
$lines = file('array2.txt');
foreach($lines as $line)
{
  if(!empty($line)){
    $values[]= "('".mysql_real_escape_string($line)."', '22')";
  }
}
$query = "INSERT INTO test (Tweet, Date) VALUES ".implode(",",$values);
$result = mysql_query($query) or die(mysql_error());
?>

注: mysql 機能が減価償却されているため、mysqli または PDO を使用することをお勧めします。

于 2013-08-26T13:19:26.337 に答える