mysql插入突然停止在我的PHP代码中工作

时间:2014-06-26 09:45:11

标签: php mysql sql

插入是在phpmyadmin工作,但我无法弄清楚为什么它突然停止在我的PHP代码中工作。表本身有2列,1是自动递增,另一列是我尝试插入的值。当表格访问99760条目时,php脚本中的插入无效,但是可以从phpmyadmin插入值。输入的最新summoner_id是410893,这是指向表结构窗口图像的链接:http://puu.sh/9KKuA/35cfcae788.png

<?php
$con=mysqli_connect("localhost", "root", "pass", "stats");

if (mysqli_connect_errno())
{
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$position = $_GET["count"];

$ids = strval($position);
for($i = $position + 1; $i < $position + 40; $i++)
{
    $ids = $ids . "," . strval($i);
}

do
{
    sleep(1);
    $raw = file_get_contents('https://euw.api.pvp.net/api/lol/euw/v1.4/summoner/' . $ids . '?api_key=****');
}while(strcmp($http_response_header[0], 'HTTP/1.1 429 429') == 0);

if(strcmp($http_response_header[0], 'HTTP/1.1 404 Not Found') == 0)
{
    return;
}

$data = json_decode($raw, true);

foreach($data as &$summoner)
{
    if($summoner["summonerLevel"] == 30)
    {
        $sql="INSERT INTO `active_summoners`(`summoner_id`) VALUES (" . $summoner["id"] . ")";

        if (!mysqli_query($con,$sql))
        {
            echo "Error: " . mysqli_error($con);
        }
    }
}
?>

3 个答案:

答案 0 :(得分:1)

我认为你应该增加PHP的执行大小:

ini_set('max_execution_time', 0);

然后它会正常工作。

答案 1 :(得分:1)

将以下代码放在文件的顶部:

set_time_limit(0);

Details

答案 2 :(得分:0)

如果您插入更多记录,则需要更多时间。所以我们需要增加php文件中的执行时间:

ini_set('max_execution_time', 3000);