PHP class for importing big SQL files into MySQL server.
This class comes to overpass the problem in phpMyAdmin (and others) , when you can't upload files of decent size through the browser upload.
With this class you get the same function, just by uploading the file via FTP and doing the importing with 3 simple commands, e.g.
include("php-mysqlimporter.php");
$mysqlImport = new MySQLImporter("localhost", "user", "password");
$mysqlImport->doImport("yourfile.sql");
- Homepage: http://d-castillo.info/projects/php-mysqlimporter
- Source: https://github.com/davcs86/php-mysqlimporter
- Bugs: https://github.com/davcs86/php-mysqlimporter/issues
- PHP 5.0+
- MySQLi extension
-
As zip from this repository: https://github.com/davcs86/php-mysqlimporter/archive/master.zip
-
With git from a terminal:
git clone https://github.com/davcs86/php-mysqlimporter.git
- Using Composer, add "davcs86/php-mysqimporter" as a dependency in your project's composer.json file:
{
"require": {
"davcs86/php-mysqlimporter": "dev-master"
}
}
$mysqlImport = new MySQLImporter($host, $user, $password, $port);
Parameter | Description |
---|---|
$host | Host (or IP) of the MySQL server. |
$user | Username to login into the server. |
$password | Password of the user. |
$port | Listen port of the MySQL server. Optional. It uses the value in mysqli.default_port as default. |
$mysqlImport->doImport("./sqlfiles/test1.sql");
if ($mysqlImport->hadErrors){
// Display errors
echo "<pre>\n";
print_r($mysqlImport->errors);
echo "\n</pre>";
} else {
echo "<strong>File imported successfully</strong>";
}
- You can specify database.
NOTE: This doesn't override the clause USE in the file, but sets an initial database.
$mysqlImport->doImport("./sqlfiles/test1.sql", "initial_db_name");
- You can create the database (if it doesn't exist).
$mysqlImport->doImport("./sqlfiles/test1.sql", "initial_db_name", true);
- You can drop the database and then create it.
$mysqlImport->doImport("./sqlfiles/test1.sql", "initial_db_name", true, true);
- Or just drop it. Particularly useful if you already got a CREATE statement in your SQL file.
$mysqlImport->doImport("./sqlfiles/test1.sql", "initial_db_name", false, true);
Drop me line on: http://d-castillo.info/contactme/ or to: davcs86@gmail.com
Did this project help you to save (or earn) some money?
Please, support to the author by making a small donation.