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());
?>

注意:我建议使用 mysqli 或 PDO,因为 mysql 功能已贬值。

于 2013-08-26T13:19:26.337 回答