1. Go to this page and download the library: Download irap/multi-query library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
$connection = new mysqli('host', 'user', 'password', 'db_name');
$queries = array(
'SELECT * FROM `table1`',
'SHOW TABLES`',
'SELECT * FROM `table2`'
);
$select1QueryIndex = 0;
$showTablesQueryIndex = 1;
$select2QueryIndex = 2;
$multiQuery = new iRAP\MultiQuery\MultiQuery($connection, $queries);
if ($multiQuery->hasErrors())
{
$errors = $multiQuery->getErrors();
// do something with the errors array such as use them in an
// exception message....
}
else
{
$tablesResult = $multiQuery->getResult($showTablesQueryIndex);
if ($tablesResult === FALSE)
{
throw new Exception("Failed to fetch tables");
}
else
{
$tables = array();
while (($row = $tablesResult->fetch_array()) !== null)
{
$tables[] = $row[0];
}
print "tables: " . implode(", ", $tables);
}
}
# // Example 2 - Fetch data from two tables that have exactly the same structure
# // e.g. a case of partitioning data using table names like "dataset1", "dataset2"
$queries = array(
'SELECT * FROM `table1`',
'SELECT * FROM `table2`'
);
$multiQuery2 = new iRAP\MultiQuery\MultiQuery($connection, $queries);
$mergedResult = $multiQuery2->getMergedResult();
print "merged result: " . print_r($mergedResult, true) . PHP_EOL;
$queries = array(
'DELETE FROM `myTable` WHERE id = ' . $id,
'INSERT INTO `myTable` SELECT * FROM `myTable2` WHERE id = ' . $id
);
$transaction = new iRAP\MultiQuery\Transaction($mysqli, $queries);
if (!$transaction->wasSuccessful())
{
throw new Exception("Failed to reset the record in xyz");
}
$queries = array(
'DELETE FROM `myTable` WHERE id = ' . $id,
... # more quries here.
);
$transaction = new iRAP\MultiQuery\Transaction(
$mysqli,
$queries,
$attempts=5,
$sleepPeriod=3
);
...
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.