OldWildWeb Logo

Una classe che permette anche di effettuare un dump del database MySQL

Backup direttamente da PHP

Database MySQL e 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.



Database MySQL e PHP