Una classe che permette anche di effettuare un dump del database MySQL
Programmazione » Dumpfromphp
22/05/2014 - 438
Backup direttamente da PHP
Effettuare una connessione al database MySQL tramite PHP non è mai stato semplice
PHP e MySQL gestione del DB tramite la classe Database
Tra i motivi del successo del linguaggio di programmazione web
PHP vi è senza ombra di dubbio la perfetta integrazione del
database MySQL, uno dei punti cardini della struttura
LAMP (
Linux,
Apache,
MySQL,
PHP).
Gestire il database
MySQL con il
PHP risulta essere piuttosto semplice e pratico, tuttavia per evitare di scrivere troppe linee di codice si può ricorrere ad una classe che semplifica la gestione.
In questa guida mostrerò come utilizzare la
classe PHP Database, scaricabile dal repository Github:
https://github.com/kingk85/PHPDatabase (per scaricare si può utilizzare il tasto download in basso a destra).
Funzioni offerte dalla Classe:
-Uso
semplificato del
database MySQL
-
Velocità di sviluppo
-
Database dump e
restore direttamente dal
PHP, non ci sarà necessità di utilizzare altro per effettuare o programmare backup automatici sul vostro sito web e per ripristinarli.
Per utilizzare la classe bisogna modificare i parametri di accesso principali in cima al file
database.php:
public $db_user = "DataBase_Username";
public $db_password = "DatabasePassword";
public $db_name = "DataBase_Name";
public $db_host = "DataBase_Host";
Esempi, come usare la classe
In ogni pagina va inclusa la classe:
include_once "database.php";
Creare l'oggetto
classe database
$db = new Database();
Esempi di
come eseguire delle query
$result = $db->ExecuteWR("SELECT nickname, email from users");
while($row = mysql_fetch_array($result))
{
echo $row['nickname'];
}
$result = $db->ExecuteWR("SELECT nickname, email from users");
while($row = mysql_fetch_array($result))
{
$values = $db->get_all_row_values($row);
echo $values['nickname'];
}
Esempi di
query senza richiesta di dati:
$db->Execute("INSERT INTO users (nickname, email) VALUES ('foo', 'foo@foo.com')");
$db->Execute("DELETE from users where nickname='foo'");
Query di conteggio:
$count = $db->Count("from users where nickname='foo'");
echo $count; //---> 1
Database backup e ripristino da PHP (dump e restore)
La classe consente di effettuare
backup e restore direttamente dal PHP anche di
grandi database senza nessun problema, le query sono suddivise in maniera tale da non sovraccaricare il server.
Come effettuare il
dump di una
tabella salvando un file
dump.sql in una cartella del server remoto
$db->dump_table('users', 'dumps/users.sql', false);
Come effettuare il
dump di una
tabella salvando un file
dump.sql nella cartella remota, e iniziare il download dal web browser
$db->dump_table('users', 'dumps/users.sql', true);
Come effettuare il
dump di un
database salvando un file
dump.sql dentro una cartella del server remoto e iniziare il download da web browser.
$db->dump_db('dumps/database.sql', true);
Come ripristinare un file
dump.sql generato con la classe
database
$db->execute_sql_file(dumps/database.sql);
Come
estrapolare un file CSV da una
query e salvarlo dentro una variabile stringa:
$result = $db->ExecuteWR("SELECT nickname, email from users");
$csv_report_string = $db->export_csv($result);
Ottenere la lista di tabelle del database dentro un array:
$tables = $db->get_all_tables();
Ottenere la lista dei database disponibili dentro un array:
$databases = $db->get_all_databases();
Connettersi con la classe su un altro database, diverso da quello configurato nei parametri della classe:
$db->ChangeDB('database_name');
Come potrete notare gestire un
database MySQL con la classe
database PHP è molto semplice ed intuitivo.