I've got a PHP script (mysqli function) which generates insert into...
queries as an array of strings
and send them to mysql database one by one. The problem is that there are about 40000 queries and my database always stop inserting new ones after 1041 and soon later close the connection.
Is it a php limitation or problem with mysql? Or maybe something else? How can I avoid this problem and send all queries to database?
Here is the code:
$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();
}