打开大的.txt文件然后逐行将其插入数据库中我遇到了一些麻烦。
这是我的代码:
$query = $db->prepare("INSERT INTO test (email, npai) VALUES (?, 1);");
if ($file) {
while (($line = fgets($file)) !== false) {
echo $line;
$query->execute(array($line));
}
fclose($file);
}
else
{
echo "Can't open the file";
exit ;
}
问题是在1.xxx.xxx行之后插入脚本停止而没有任何错误消息。我多次尝试过我的脚本,它从来没有在同一行中它失败所以这不是一个特殊线的问题。这是一个50mo .txt文件,但在我有一些.csv文件大约500mo。
如果你有一些建议!
感谢。
答案 0 :(得分:0)
如果您使用的是mysql,那么您只需使用
即可 LOAD DATA LOCAL INFILE 'path_to_text_file' INTO TABLE yourTableName LINES TERMINATED BY '\r\n';
从文本文件向表中插入数据。
在源文本文件中,值必须由制表符分隔,并按列列出的顺序给出。您可以使用\N
来表示缺失值。
您可以找到更多信息here
答案 1 :(得分:0)
好的,所以我将display_errors设置为1,我收到一条错误消息:
致命错误:第50行的/Applications/MAMP/htdocs/EmailNinja/import/npai.php超出了30秒的最长执行时间
我终于使用: set_time_limit(0);
非常感谢