Foreach使用file()函数连续循环。

时间:2013-08-26 13:12:49

标签: php mysql arrays foreach

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

大家好,

我正在尝试使用上面的代码来使用file()函数将文本文件中的行添加到数组中,因此我可以将它放在mysql数据库中。我使用的文件包含100行,但使用上面的函数我最终得到超过116,000。有谁知道是什么导致这个?先感谢您。

2 个答案:

答案 0 :(得分:1)

也许尝试这种方式。您将读到文件结束行。

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

对我而言,这是有效的,我没有得到任何其他记录,只有我写的10个。

答案 1 :(得分: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函数折旧了。