Php CSV换行问题
我有一个包含以下内容的CSV文件Php CSV换行问题,php,mysql,csv,Php,Mysql,Csv,我有一个包含以下内容的CSV文件 10000,hello 10000,bye 10000,good 下面是我的代码,用于读取CSV文件,并将其发送到数据库 if ($_FILES[csv][size] > 0) { //get the csv file $file = $_FILES[csv][tmp_name]; $handle = fopen($file,"r"); //loop through the csv file and inser
10000,hello
10000,bye
10000,good
下面是我的代码,用于读取CSV文件,并将其发送到数据库
if ($_FILES[csv][size] > 0) {
//get the csv file
$file = $_FILES[csv][tmp_name];
$handle = fopen($file,"r");
//loop through the csv file and insert into database
do {
if ($data[0]) {
mysql_query("INSERT INTO table_name (table_column1, table_column2) VALUES
(
'".$data[0]."',
'".$data[1]. "'
)
");
}
} while ($data = fgetcsv($handle,1000,","));
}
在上面,来自CSV的数据无法进入数据库,因为它读取的文件如下所示
10000 hello 10000
bye 10000
good
我可以知道,这有什么问题吗?代码有问题吗?
但是,如果我的CSV文件的格式如下所示(每行之间有一个空行)
所有数据都可以成功地进入数据库。为什么不使用csv读取功能呢
if ($_FILES[csv][size] > 0) {
//get the csv file
$file = $_FILES[csv][tmp_name];
$lines = file($file);
foreach ($lines as $line)
{
$data = explode(",", $line);
if ($data[0] != "") {
mysql_query("INSERT INTO table_name (table_column1, table_column2) VALUES
(
'".$data[0]."',
'".$data[1]. "'
)
");
}
}
}
呃,仍然是相同的结果,数据不会进入数据库,它会像这样读$line,10000,1UlmK 10000,1PBfj 10000,1bCNa 10000,1RQSb 10000,1RQ为什么不能调试或什么?试过调试。没有错误。只是,它无法发送到数据库中,因为数据没有被正确读取..但感谢您的帮助/想法。请尝试
在循环中打印($data)
,这样您就知道它是否正确读取,可能是由于您连接到DBSorry的方式有问题,导致延迟答复。。顺便说一下,这是输出,数组([0]=>10000[1]=>hello 10000[2]=>bye 10000[3]=>good)。。
if ($_FILES[csv][size] > 0) {
//get the csv file
$file = $_FILES[csv][tmp_name];
$lines = file($file);
foreach ($lines as $line)
{
$data = explode(",", $line);
if ($data[0] != "") {
mysql_query("INSERT INTO table_name (table_column1, table_column2) VALUES
(
'".$data[0]."',
'".$data[1]. "'
)
");
}
}
}