fopen php mysql 导入 - sql 中的空行
fopen php mysql import - empty row in sql
我正在使用下面指定的代码通过 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);
试试下面的代码。也可以看看 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);
我正在使用下面指定的代码通过 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);
试试下面的代码。也可以看看 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);