davcs86/php-mysqlimporter

PHP class for importing big SQL files into MySQL.

dev-master 2014-09-02 07:19 UTC

This package is not auto-updated.

Last update: 2024-11-05 03:00:22 UTC


README

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");

Links

Requirements:

  1. PHP 5.0+
  2. MySQLi extension

Download

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"
    }
}

How to Use:

Initialization

$mysqlImport = new MySQLImporter($host, $user, $password, $port);

Basic Importing

$mysqlImport->doImport("./sqlfiles/test1.sql");

Error Reporting

if ($mysqlImport->hadErrors){
	// Display errors
	echo "<pre>\n";
	print_r($mysqlImport->errors);
	echo "\n</pre>";
} else {
	echo "<strong>File imported successfully</strong>";
}

Advanced Importing

  1. 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");
  1. You can create the database (if it doesn't exist).
$mysqlImport->doImport("./sqlfiles/test1.sql", "initial_db_name", true);
  1. You can drop the database and then create it.
$mysqlImport->doImport("./sqlfiles/test1.sql", "initial_db_name", true, true);
  1. 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);

Support

Drop me line on: http://d-castillo.info/contactme/ or to: davcs86@gmail.com

Donations

Did this project help you to save (or earn) some money?
Please, support to the author by making a small donation.

Buy Me A Coffee :) @ PayPal