我使用下面指定的代码通过php和fopen将txt文件导入mysql。它按预期从我的txt文件中导入所有数据行,但是无论txt文件包含什么,我的脚本总是为列数据2添加一个额外的非预期行和一个空白字段。我检查了txt文件,最后没有空格或空格。
mysql_connect("$dbhost", "$dbuser", "$dbpasswd") or die(mysql_error());
mysql_select_db("$dbname") or die(mysql_error());
$f = fopen("import.txt", "r");
while(!feof($f))
{
$data = explode(" ", fgets($f));
$data1 = 'foobar';
$inputkey = $data[0];
mysql_query("INSERT INTO `reviewdata` (data1, data2)
VALUES ('$data1', '$inputkey')") or die(mysql_error());
}
fclose($f);发布于 2015-11-14 22:26:50
试试下面的代码。还可以看一看similar question。这个问题解释了为什么使用feof是错误的。
mysql_connect("$dbhost", "$dbuser", "$dbpasswd") or die(mysql_error());
mysql_select_db("$dbname") or die(mysql_error());
$f = fopen("import.txt", "r");
while(($data = fgets($f)) !== false)
{
$data = explode(" ", $data);
$data1 = 'foobar';
$inputkey = trim($data[0]);
mysql_query("INSERT INTO `reviewdata` (data1, data2)
VALUES ('$data1', '$inputkey')") or die(mysql_error());
}
fclose($f);https://stackoverflow.com/questions/33714044
复制相似问题