GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come connettersi a MySQL usando PHP

Introduzione

Per accedere e aggiungere contenuti a un MySQL database, devi prima stabilire una connessione tra il database e un PHP copione.

In questo tutorial, scopri come utilizzare MySQLi Extension e PHP Data Objects per connetterti a MySQL . Le tradizionali funzioni mysql_ legacy sono obsolete e non le tratteremo in questa guida.

Prerequisiti

  • privilegi speciali CREATE
  • Un database MySQL
  • Un'estensione MySQLi o PDO

2 modi per connettersi al database MySQL utilizzando PHP

Esistono due modi popolari per connettersi a un database MySQL utilizzando PHP:

  1. Con l'estensione MySQLi di PHP
  2. Con PHP Data Objects (PDO)

La guida include anche spiegazioni per le credenziali utilizzate negli script PHP e potenziali errori che potresti riscontrare utilizzando MySQLi e PDO.

Opzione 1:connessione a MySQL con l'estensione MySQL Improved

MySQL è un'estensione che supporta solo i database MySQL. Consente l'accesso a nuove funzionalità presenti nei sistemi MySQL (versione 4.1. e successive), fornendo un'interfaccia sia orientata agli oggetti che procedurale. Supporta istruzioni preparate lato server, ma non istruzioni preparate lato client.

L'estensione MySQLi è inclusa in PHP versione 5 e successive.

Lo script PHP per la connessione a un database MySQL utilizzando l'approccio procedurale MySQLi è il seguente:

<?php
$servername = "localhost";
$database = "database";
$username = "username";
$password = "password";

// Create connection

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

// Check connection

if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

echo “Connected successfully”;

mysqli_close($conn);

?>

Spiegazione delle credenziali

La prima parte dello script è costituita da quattro variabili (nome server, database, nome utente e password) e dai rispettivi valori. Questi valori dovrebbero corrispondere ai dettagli della tua connessione.

La prossima è la funzione PHP principale mysqli_connect() . Stabilisce una connessione con il database specificato.

Di seguito è riportata una "istruzione if .” È la parte del codice che mostra se la connessione è stata stabilita. Quando la connessione non riesce, viene visualizzato il messaggio Connessione non riuscita . I morire la funzione stampa il messaggio e quindi esce fuori dal copione.

Se la connessione riesce, viene visualizzato "Connesso correttamente ."

Al termine dello script, si chiude anche la connessione con il database. Se desideri terminare il codice manualmente, utilizza mysqli_close funzione.

Opzione 2:connessione a MySQL con PDO

Oggetti dati PHP (PDO) è un'estensione che funge da interfaccia per la connessione ai database. A differenza di MySQLi, può eseguire qualsiasi funzione di database e non è limitato a MySQL. Consente flessibilità tra i database ed è più generale di MySQL. PDO supporta istruzioni preparate lato server e client.

Il codice PHP per la connessione a un database MySQL tramite l'estensione PDO è:

<?php

$servername = "localhost";
$database = "database";
$username = "username";
$password = "password";
$charset = "utf8mb4";

try {

$dsn = "mysql:host=$servername;dbname=$database;charset=$charset";
$pdo = new PDO($dsn, $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

echo “Connection Okay”;

return $pdo

}

catch (PDOException $e)

{
echo “Connection failed: ”. $e->getMessage();
}

?>

Sintassi delle credenziali

Innanzitutto, abbiamo cinque variabili (nome del server, database, nome utente, password e set di caratteri) e i loro valori. Questi valori dovrebbero corrispondere ai dettagli della tua connessione.

Il nome del server sarà localhost . Se sei connesso a un server online, digita il nome del server di quel server.

La variabile insieme di caratteri indica al database in cui codificare riceverà e invierà dati. Lo standard consigliato è utf8mb4 .

Cerca di catturare i blocchi

Il grande vantaggio della DOP è che ha un'eccezione classe per occuparsi di eventuali problemi nelle query del database. Risolve questi problemi incorporando prova e cattura blocchi.

Se si verifica un problema durante il tentativo di connessione, interrompe l'esecuzione e tenta di catturare e risolvi il problema. Cattura i blocchi possono essere impostati per mostrare messaggi di errore oppure esegui un codice alternativo .

Il primo parametro in try and catch il blocco è DSN, che sta per nome dell'origine dati(base) . È fondamentale in quanto definisce il tipo e il nome del database, insieme a qualsiasi altra informazione aggiuntiva.

In questo esempio, stiamo usando un database MySQL. Tuttavia, PDO supporta vari tipi di database. Se hai un database diverso, sostituisci quella parte della sintassi (mysql ) con il database che stai utilizzando.

Il prossimo è il DOP variabile. Questa variabile stabilirà una connessione al database. Ha tre parametri:

  1. Il nome dell'origine dati (dsn)
  2. Il nome utente per il tuo database
  3. La password per il tuo database

Di seguito è riportato il metodo setAttribute aggiungendo due parametri al PDO:

  1. DOP::ATTR_ERRMODE
  2. DOP::ERRMODE_EXCEPTION

Questo metodo indica al PDO di eseguire un'eccezione nel caso in cui una query non vada a buon fine.

Aggiungi l'eco "Connessione OK .” per confermare che è stata stabilita una connessione.

Ritorno la variabile PDO per connettersi al database.

Dopo aver restituito la variabile PDO, definire la PDOException nella cattura bloccare chiedendogli di visualizzare un messaggio quando la connessione fallisce.

Potenziali errori con MySQLi e PDO

Password errata

La password nel codice PHP deve corrispondere a quella nel database. Se i due non corrispondono, non è possibile stabilire una connessione con il database. Riceverai un messaggio di errore che dice la connessione non è riuscita .

Possibili soluzioni :

  1. Controlla i dettagli del database per assicurarti che la password sia corretta.
  2. Assicurati che ci sia un utente assegnato al database.

Impossibile connettersi al server MySQL

PHP potrebbe non essere in grado di connettersi al server MySQL se il nome del server non viene riconosciuto. Assicurati che il nome del server è impostato su localhost .

In caso di altri errori, assicurati di consultare il error_log file per aiutare quando si tenta di risolvere eventuali problemi. Il file si trova nella stessa cartella in cui è in esecuzione lo script.


Cent OS
  1. Come eseguire il backup e il ripristino del database MySQL utilizzando la riga di comando

  2. Come installare il server di database MySQL su CentOS

  3. Come connettersi a un database MySQL in remoto da un computer

  4. Come connettersi in remoto a MySQL

  5. Come creare un database MySQL utilizzando l'API cPanel

Come eseguire il backup del database MySQL utilizzando cPanel cron?

Come eseguire il backup del database MySQL utilizzando cPanel?

Come creare un database in MySQL

Come creare database utilizzando la procedura guidata del database MySQL

Come connettersi a MySQL usando PHP

3 metodi per connettersi a MySQL da PHP usando il codice di esempio