Mysql
 sql >> Database >  >> RDS >> Mysql

Come collegare il database MySQL con il sito Web PHP

MySQL è un sistema di gestione di database molto popolare in grado di alimentare progetti di tutte le dimensioni. La sua capacità di gestire enormi volumi di dati senza sudare è uno dei suoi maggiori punti di forza. Collega MySQL con codice PHP, puoi utilizzare una delle tre metodologie.

Esistono tre tipi di metodi in PHP per connettere il database MySQL tramite il backend:

  • MySQL
  • MySQL
  • DOP

mysql() è ora obsoleto a causa di problemi di sicurezza come SQL injection, ecc., ma gli altri due vengono utilizzati attivamente.

MySQL

MySQLi è un'API utilizzata come funzione connettore per collegare il backend dell'app PHP al database MySQL. Funziona proprio come la versione precedente, ma è più sicuro e veloce e fornisce un insieme migliore di funzioni ed estensioni. MySQLi è stato introdotto con PHP 5.0.0 e i driver sono stati installati in 5.3.0. L'API è stata progettata per supportare MySQL dalla versione 4.1.13 a quelle più recenti.

DOP

L'estensione PHP Data Objects (PDO) è un livello di astrazione del database. È come un'interfaccia per il back-end per interagire con il database MySQL e apportare modifiche senza apportare modifiche al codice PHP. Ti dà anche la libertà di lavorare con più database. Il principale vantaggio dell'utilizzo di PDO è che il tuo codice rimane semplice e portabile.

In questo articolo, discuterò come connettere il database MySQL su server diversi e ti fornirò anche una panoramica della connessione del database tramite PDO.

  1. Collega MySQL utilizzando Localhost Server
  2. Collega MySQL utilizzando Cloudways Server
  3. Collega MySQL usando PDO
  4. Collega MySQL utilizzando MySQL remoto

Scarica subito il cheat sheet di MySQL

Invieremo un link per il download alla tua casella di posta.

Grazie

Il tuo ebook è in arrivo nella tua casella di posta.


Crea database MySQL su Localhost

Prima di iniziare a creare una connessione PHP al database MySQL, devi sapere cos'è PHPMyAdmin. È un pannello di controllo da cui puoi gestire il database che hai creato. Apri il browser e vai su localhost/PHPMyAdmin o fai clic su "Admin" nell'interfaccia utente di XAMPP.

Quando hai installato XAMPP per la prima volta, ha creato solo il nome utente per accedervi, ora devi aggiungere una password da solo. Per questo, devi andare su Account utente dove l'utente è lo stesso mostrato in questa immagine:

Ora fai clic su Modifica privilegi e vai su Modifica password amministratore, digita lì la tua password e salvala. Ricorda questa password in quanto verrà utilizzata per la connessione al tuo Database.

Nota:non è necessario modificare la password per accedere ai database sul localhost. È una buona pratica ed è per questo che abbiamo utilizzato una password.

Crea database

Ora torna alla homepage di PHPMyAdmin. Fai clic su Nuovo pulsante per creare un nuovo database.

Nella nuova finestra, dai un nome al tuo database secondo le tue necessità, io lo chiamo “pratica ”. Ora seleziona Collation come utf8_general_ci, poiché lo stiamo usando per scopi di apprendimento e gestirà tutte le nostre query e dati che saranno trattati in questa serie di tutorial. Ora fai clic su Crea e il tuo database verrà creato.

Il database appena creato sarà vuoto ora, poiché non ci sono tabelle al suo interno. Lo tratterò nelle prossime serie in cui impareremo come creare tabelle e inserirvi dati. In questo tutorial, collegheremo questo database a localhost usando PHP

Crea una cartella in htdocs

Ora, individua la cartella in cui hai installato XAMPP e apri la cartella htdocs (di solito c:/xampp). Crea una nuova cartella all'interno di c:/xampp/htdocs/ e chiamala "pratica" posizioneremo i file web in questa cartella. Perché abbiamo creato una cartella in htdocs? XAMPP utilizza le cartelle in htdocs per eseguire ed eseguire i tuoi siti PHP.

Nota:se stai usando WAMP, aggiungi la tua cartella pratica nella cartella c:/wamp/www.

Crea file di connessione al database in PHP

Crea un nuovo file PHP e chiamalo db_connnection.php e salvalo. Perché sto creando un file di connessione al database separato? Perché se hai creato più file in cui vuoi inserire dati o selezionare dati dai database, non è necessario scrivere ogni volta il codice per la connessione al database.

<?php

function OpenCon()
 {
 $dbhost = "localhost";
 $dbuser = "root";
 $dbpass = "1234";
 $db = "example";


 $conn = new mysqli($dbhost, $dbuser, $dbpass,$db) or die("Connect failed: %s\n". $conn -> error);

 
 return $conn;
 }
 
function CloseCon($conn)
 {
 $conn -> close();
 }
   
?>

Ecco la spiegazione della variabile che abbiamo utilizzato nel nostro file db_connection:

  1. $dbhost sarà l'host su cui è in esecuzione il tuo server, di solito è localhost.
  2. $dbuser sarà il nome utente, ovvero root e $dbpass sarà la password che è la stessa che hai usato per accedere a PHPMyAdmin.
  3. $dbname sarà il nome del tuo database che abbiamo creato in questo tutorial.

Devi solo includerlo usando la funzione personalizzata di PHP includi (includi "connection.php") nella parte superiore del tuo codice e chiama la sua funzione e usala. Aiuta anche quando sposti la posizione del tuo progetto da un PC all'altro e devi modificare i valori sul singolo file e tutte le modifiche verranno applicate automaticamente a tutti gli altri file.

Crea un nuovo file PHP per verificare la connessione al database

Crea un nuovo file PHP per connetterti al tuo database. Denominalo index.php e aggiungi questo codice in questo file.

<?php
include 'db_connection.php';

$conn = OpenCon();

echo "Connected Successfully";

CloseCon($conn);

?>

Esegui!

Ora apri il tuo browser e vai su localhost/practice/index.php e dovresti vedere questa schermata:

Messaggio di conferma

Congratulazioni! Hai collegato correttamente il tuo database con il tuo localhost! Se non riesci a vedere questa schermata, controlla di aver fatto tutto correttamente nel tuo file db_connection.php.

Crea database MySQL su Cloudways Server

Ai fini di questo tutorial, presumo che tu abbia un'applicazione PHP installata su un server web. La mia configurazione è:

  • PHP 7.3
  • MySQL

Ho deciso di ospitare la mia applicazione PHP su server gestiti da Cloudways perché ottengo uno stack di hosting altamente ottimizzato e nessun problema di gestione del server. Puoi provare Cloudways gratuitamente firmando un account e quindi seguendo questa semplice GIF per configurare il server e l'applicazione PHP. Dai un'occhiata ai piani di hosting Cloudways per AWS, Google Compute Engine, Vultr, Linode e Digital Ocean per trovare la soluzione giusta per te.

Dopo aver avviato correttamente un'applicazione PHP su Cloudways, vai nella scheda dell'applicazione e controlla i dettagli del database e fai anche clic sul pulsante per avviare il database manager .

Connetti al database MySQL

Per impostare una connessione al database usa mysql_connect funzione. Questa funzione restituisce un puntatore (noto anche come handle di database) alla connessione al database. Questo handle verrà utilizzato nel codice in seguito. Una volta che hai l'handle, ricordati di aggiungere le credenziali del tuo database.

  • Crea un nuovo file PHP e chiamalo db_connection.php e salvalo.

Perché sto creando un file di connessione al database separato? Perché se hai creato più file in cui vuoi inserire dati o selezionare dati dai database, non è necessario scrivere ogni volta il codice per la connessione al database. Devi solo includerlo usando la funzione personalizzata di PHP include (include 'connection.php') nella parte superiore del tuo codice e chiama la sua funzione e usalo.

A questo punto hai la possibilità di utilizzare la query di connessione procedurale MySQLi o la connessione al database basata su PHP PDO:

Query procedurale MySQLi

<?php

$servername = "localhost";

$username = "username";

$password = "password";

$db = "dbname";



// Create connection

$conn = mysqli_connect($servername, $username, $password,$db);



// Check connection

if (!$conn) {

   die("Connection failed: " . mysqli_connect_error());

}

echo "Connected successfully";

?>

Collega il database MySQL con PHP usando PDO

<?php

$servername = "localhost";

$username = "username";

$password = "password";

$db = "dbname";



try {

   $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password, $db);

   // set the PDO error mode to exception

   $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

   echo "Connected successfully";

   }

catch(PDOException $e)

   {

   echo "Connection failed: " . $e->getMessage();

   }

?>

Verifica connessione

<?php

include 'db_connection.php';

 

echo "Connected Successfully";

mysqli_close($conn);

?>

Per PDO Chiudi la connessione così

$conn = null;

MySQL remoto

Per la connessione MySQL PHP remota Accedi alla piattaforma Cloudways con le tue credenziali. Fai clic su "Server" nella barra dei menu in alto. Quindi, fai clic sul tuo server di destinazione dall'elenco.

  • Successivamente, vai all'opzione del menu Sicurezza nel menu a sinistra, quindi fai clic sulla scheda MySQL.
  • Aggiungi l'indirizzo IP all'area di testo "Aggiungi IP alla whitelist" e fai clic sul pulsante "Aggiungi".
  • Se hai più indirizzi IP, ripeti la procedura.
  • Al termine, fai clic sul pulsante "Salva modifiche" per finalizzare le modifiche

Dopo aver impostato correttamente l'IP Whitelisting, impostare l'indirizzo IP in connessione ed eseguire la query.

I migliori strumenti di gestione di MySQL

Workbench MySQL

MySQL Workbench è uno strumento visivo per progettisti di database, sviluppatori e DBA. MySQL Workbench offre la modellazione delle informazioni, l'avanzamento SQL e dispositivi di organizzazione completi per la disposizione dei server, l'organizzazione dei client, il rafforzamento e molto altro ancora. MySQL Workbench è accessibile su Windows, Linux e Mac OS X.

MySQL Workbench è un gestore di database MySQL molto popolare per gli sviluppatori. Fornisce utili strumenti di amministrazione come la configurazione del server, la gestione degli utenti e molti altri. È disponibile per i sistemi operativi MAC OS, Linux e Windows.

Consigliamo a tutti quegli sviluppatori in erba che vogliono imparare l'amministrazione del database di usarlo a proprio vantaggio. Le funzionalità di gestione li aiuteranno a padroneggiare completamente l'amministrazione del database.

Pro

  1. Salva le istruzioni SQL
  2. Fornisce l'accesso offline ai DB remoti
  3. Memorizza più connessioni in un'unica posizione
  4. Schema visivo e generatore di query disponibili

Contro

  1. È più complesso rispetto a PHPMyAdmin.
  2. Gli utenti segnalano spesso arresti anomali del software.

Navicat è una serie di amministrazione di database grafici e sviluppo di software. Potrebbe essere una singola applicazione che consente di associare contemporaneamente a PHP la connessione MySQL e i database MariaDB. Coerente con database cloud come Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud e Microsoft Azure.

Navicat per MySQL fornisce tutti gli strumenti avanzati di cui uno sviluppatore ha bisogno per gestire completamente le sue operazioni di database. La sua compatibilità con i database cloud lo rende pratico da usare durante la gestione di un'applicazione basata su cloud. Alcune delle sue caratteristiche principali sono:

Pro:

  1. Interfaccia utente intuitiva e facile da usare.
  2. Fornisce una facile connessione al database MySQL tramite terminale SSH.
  3. Programma lavori di database:backup, ripristino, esecuzione di rapporti e altro.
  4. Importa ed esporta dati da ODBC, Excel, Access, DBF, TXT, CSV, XML, JSON.
  5. Schemi visivi e generatori di query disponibili.
  6. Compatibile con i sistemi operativi Windows, Linux e MAC.
  7. Funzione di collaborazione in team disponibile

Contro:

  1. La versione professionale è costosa
  2. L'esecuzione su Linux richiede Wine, che rallenta l'IDE.
  3. Gestione dei processi che richiede tempo

MySQL Yog

Questo strumento di gestione MySQL ha tre pacchetti disponibili, ovvero Professional, Enterprise e Pro. Puoi sceglierne uno qualsiasi dopo il test.

Gli amministratori MySQL possono lavorare facilmente con questa piattaforma e possono gestire le loro attività di database con efficienza. È disponibile solo per i sistemi operativi Windows.

PRO

  1. Disponibile strumento per la progettazione di query fluide
  2. Offre funzionalità avanzate che aiutano nell'apprendimento dell'amministrazione del database.

CONS

  1. La versione pro è pesante per le tasche
  2. Gli utenti segnalano spesso occasionali arresti anomali del software
  3. Non supporta nessun database tranne MySQL
  4. Nessun supporto nativo per i sistemi operativi Linux e MAC.
  5. Nessun supporto per il trascinamento della selezione tra più schede.

Gestione database MySQL di Cloudways

Il gestore di database MySQL di Cloudways è di gran lunga uno degli strumenti di gestione MySQL più pratici e utili per gli sviluppatori. È molto facile da usare grazie alla sua interfaccia utente intuitiva e fornisce tutti gli strumenti di amministrazione MySQL necessari che un gestore di database dovrebbe avere:

Pro:

  1. Offre un'interfaccia utente intuitiva e personalizzabile con funzionalità avanzate.
  2. Progetta visivamente le tabelle dello schema, i vincoli e le query.
  3. Facile connessione al database MySQL utilizzando il terminale SSH.

Contro

  1. Nessun supporto per il trascinamento della selezione disponibile per più schede.
  2. Mancanza di supporto per database diversi da MariaDB, MySQL.
Domande frequenti

D:Come posso verificare se MySQL è in esecuzione o meno?

A:Per verificare se MySQL è in esecuzione, a condizione che sia installato come servizio, puoi andare su Start -> Pannello di controllo -> Strumenti di amministrazione -> Servizi e cercare MySQL in quell'elenco. Controlla se è in esecuzione o meno.

D:Come trovo la mia porta localhost per MySQL?

R:Se stai usando MySQL Workbench, guarda nella scheda Sessione nel pannello Informazioni sulla barra laterale. Se stai usando phpMyAdmin, fai clic su Home, quindi su Variabili nel menu in alto. Cerca l'impostazione della porta nella pagina. Il valore impostato è il numero della tua porta MySQL.

D:Quali sono il nome utente e la password MySQL di localhost?

R:Controlla http://php.net/manual/en/function.mysql-connect.php. $nomeserver ="host locale"; $nomeutente ="radice"; $password =“”; Questo potrebbe funzionare per i nuovi utenti e non dimenticare di creare il database prima di connetterti ad esso.

D:Qual è la funzione PHP standard per la connessione a un database MySQL?

R:Uno dei motivi per cui PHP funziona così bene con MySQL è la funzione mysql_connect che apre una connessione al database. Questa funzione accetta cinque argomenti.

Conclusione

Una buona struttura del database è la spina dorsale di qualsiasi applicazione. Che si tratti di un CMS o di una piattaforma di monitoraggio delle attività online, hai bisogno di uno o più database MySQL per tenere traccia delle informazioni sull'app e dell'utente e dei dati del server nei processi dell'applicazione.

In questo tutorial abbiamo imparato due cose:

  • Come creare un nuovo database
  • Come connettere il database MySQL con PHP

Sia MySQLi che PDO hanno le loro preferenze. Tuttavia, prima di iniziare, tieni presente che MySQL viene utilizzato solo per connettere MySQL con PHP, se devi migrare su un altro database, potrai modificare l'intero codice. D'altra parte, PDO funziona con 12 database diversi, il che rende la migrazione molto meno impegnativa.