Skip to content

Latest commit

 

History

History
119 lines (80 loc) · 2.98 KB

README.md

File metadata and controls

119 lines (80 loc) · 2.98 KB

PHP Mysql Importer

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

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