gpt4 book ai didi

PHP 脚本仅将 5000 行插入 phpMyAdmin 数据库

转载 作者:行者123 更新时间:2023-11-29 23:52:35 26 4
gpt4 key购买 nike

我编写了以下脚本:

<?php

$filename = "readingDataFromThis.LOG";
$filterarray= array("stuff to remove from the file", "and more stuff");
if (file_exists($filename) && is_readable ($filename)) {
ini_set('memory_limit','16M');
ini_set('max_execution_time', 600);
$con=mysqli_connect("server","username","password","database_name");
$count = 0;

$fh = fopen($filename, "r");
if ($fh) {
while (($line = fgets($fh)) != false) {

if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
if (strpos_arr($line, $filterarray) == false) {
$month = substr($line, 3,5);
$day = substr($line, 0,2);
$year = substr($line, 6,8);
$timestamp = substr($line, 9, 17);
$message = substr($line, 18);

mysqli_query($con,"INSERT INTO Conversation (Month, Day, Year, Time, Message)
VALUES ('$month', '$day', '$year', '$timestamp', '$message')");
echo "Inserted record " . $count++ . "<br>";
}
}
}
fclose($fh);
mysqli_close($con);
echo "Complete.";
}

function strpos_arr($haystack, $needle) {
if(!is_array($needle)) $needle = array($needle);
foreach($needle as $what) {
if(($pos = strpos($haystack, $what))!==false) return $pos;
}
return false;
}
?>

当我运行它时,没有任何问题,我在屏幕上收到的输出基本上如下所示:

Inserted record 0
Inserted record 1
...
Inserted record 14000+
Complete.

但是,当我查看数据库本身的表时,我发现只有前 5000 条记录插入到数据库中。这里发生了什么?

最佳答案

它们是否有可能在您的 key 上重复,因此未插入或正在更新以前的值。如果花费的时间太长,则可能只是超时。然而,PHPMyAdmin 有一个功能,如果即将达到超时,它将停止执行 - 这也意味着它将允许您从正确的位置恢复。

关于PHP 脚本仅将 5000 行插入 phpMyAdmin 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25540457/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com