php中的Mysql 1041查询限制

php中的Mysql 1041查询限制,php,mysql,mysqli,Php,Mysql,Mysqli,我有一个PHP脚本(mysqli函数),它将插入到…查询中,作为字符串数组并将它们逐个发送到mysql数据库。问题是大约有40000个查询,我的数据库总是在1041之后停止插入新的查询,并很快关闭连接 这是php的限制还是mysql的问题?或者别的什么?如何避免此问题并将所有查询发送到数据库 代码如下: $data // my array of strings - mysql queries ini_set ('error_reporting', E_ALL);

我有一个PHP脚本(mysqli函数),它将
插入到…
查询中,作为字符串数组
并将它们逐个发送到mysql数据库。问题是大约有40000个查询,我的数据库总是在1041之后停止插入新的查询,并很快关闭连接

这是php的限制还是mysql的问题?或者别的什么?如何避免此问题并将所有查询发送到数据库

代码如下:

        $data // my array of strings - mysql queries

        ini_set ('error_reporting', E_ALL);
        ini_set ('display_errors', '1');
        error_reporting (E_ALL|E_STRICT);

        $connection = mysqli_init();
        mysqli_options ($connection, MYSQLI_CLIENT_SSL_VERIFY_SERVER_CERT, true);

        mysqli_ssl_set($connection,'/usr/local/certs/client-key.pem',
       '/usr/local/certs/client-cert.pem', '/usr/local/certs/server-ca.pem', NULL, NULL);

        $link = mysqli_real_connect ($connection, $db['host'], $db['user'], $db['password'], 
       $db['dbName'], 3306, NULL,MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT);


        if (!$link)
        {   
            die ('Connect error (' . mysqli_connect_errno() . '): ' . mysqli_connect_error() . "\n");
        } 
        else 
        {   

           foreach ($data as $index => $queryToSend) {

                if($connection->query($queryToSend))
                {
                    $this->output->writeln('succesfull query number: '.$index);
                }   
           }



            $connection->close();
        }

我认为您应该尝试批量插入,这将帮助您克服所面临的问题

这里有一个参考资料

我认为您应该尝试批量插入,这将帮助您克服所面临的问题

这里有一个参考资料
更改php文件中的默认执行时间

ini设置(“最大执行时间”,120)//120秒


我希望这会有所帮助。

更改php文件中的默认执行时间

ini设置(“最大执行时间”,120)//120秒


我希望这会有所帮助。

您的脚本是否可能以默认的30秒时间限制终止?您可以增加php.ini设置、时间限制,或者您可以将作业分成若干部分。Jiri:我不知道问题是什么,因为在我的终端中,mysql进程似乎仍在工作,但没有添加任何新查询。我的意思是我只能用ctr/cmd+c终止它button@ampher911调用
mysqli\u query()
失败后,您从mysql收到的错误消息是什么?另外,当您使用变量输入运行SQL查询时,您应该使用准备好的语句。您的脚本是否可能以默认的30秒时间限制终止?您可以增加php.ini设置,Jiri:我不知道问题出在哪里,因为在我的终端mysql进程中,它似乎仍在工作,但没有添加任何新的查询。我的意思是我只能用ctr/cmd+c终止它button@ampher911调用
mysqli\u query()
失败后,您从mysql收到的错误消息是什么?此外,在使用变量输入运行SQL查询时,应该使用准备好的语句。