GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment se connecter à MySQL en utilisant PHP

Présentation

Pour accéder et ajouter du contenu à un MySQL base de données, vous devez d'abord établir une connexion entre la base de données et un PHP script.

Dans ce didacticiel, découvrez comment utiliser l'extension MySQLi et les objets de données PHP pour vous connecter à MySQL . Les anciennes fonctions mysql_ traditionnelles sont obsolètes et nous ne les aborderons pas dans ce guide.

Prérequis

  • Privilèges spéciaux CREATE
  • Une base de données MySQL
  • Une extension MySQLi ou PDO

2 façons de se connecter à la base de données MySQL en utilisant PHP

Il existe deux manières courantes de se connecter à une base de données MySQL à l'aide de PHP :

  1. Avec l'extension MySQLi de PHP
  2. Avec les objets de données PHP (PDO)

Le guide comprend également des explications sur les informations d'identification utilisées dans les scripts PHP et les erreurs potentielles que vous pourriez rencontrer en utilisant MySQLi et PDO.

Option 1 :Se connecter à MySQL avec l'extension MySQL améliorée

MySQLi est une extension qui ne prend en charge que les bases de données MySQL. Il permet d'accéder à de nouvelles fonctionnalités trouvées dans les systèmes MySQL (version 4.1. et supérieures), fournissant à la fois une interface orientée objet et procédurale. Il prend en charge les instructions préparées côté serveur, mais pas les instructions préparées côté client.

L'extension MySQLi est incluse PHP version 5 et plus récente.

Le script PHP de connexion à une base de données MySQL à l'aide de l'approche procédurale MySQLi est le suivant :

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

?>

Explication des informations d'identification

La première partie du script comprend quatre variables (nom du serveur, base de données, nom d'utilisateur et mot de passe) et leurs valeurs respectives. Ces valeurs doivent correspondre à vos détails de connexion.

Vient ensuite la fonction PHP principale mysqli_connect() . Il établit une connexion avec la base de données spécifiée.

Voici une "instruction if .” C'est la partie du code qui indique si la connexion a été établie. Lorsque la connexion échoue, il affiche le message Échec de la connexion . Le la fonction imprime le message puis quitte hors du script.

Si la connexion est réussie, il affiche "Connecté avec succès ."

Lorsque le script se termine, la connexion avec la base de données se ferme également. Si vous souhaitez terminer le code manuellement, utilisez le mysqli_close fonction.

Option 2 :Se connecter à MySQL avec PDO

Objets de données PHP (PDO) est une extension qui sert d'interface pour se connecter aux bases de données. Contrairement à MySQLi, il peut exécuter toutes les fonctions de base de données et n'est pas limité à MySQL. Il permet une flexibilité entre les bases de données et est plus général que MySQL. PDO prend en charge les instructions préparées côté serveur et côté client.

Le code PHP pour se connecter à une base de données MySQL via l'extension PDO est :

<?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();
}

?>

Syntaxe des identifiants

Tout d'abord, nous avons cinq variables (nom du serveur, base de données, nom d'utilisateur, mot de passe et jeu de caractères) et leurs valeurs. Ces valeurs doivent correspondre à vos détails de connexion.

Le nom du serveur sera localhost . Si vous êtes connecté à un serveur en ligne, saisissez le nom du serveur de ce serveur.

La variable jeu de caractères indique à la base de données dans quel encodage elle recevra et enverra les données. La norme recommandée est utf8mb4 .

Essayer et attraper des blocs

Le grand atout de PDO est qu'il a une exception classe pour prendre en charge tous les problèmes potentiels dans les requêtes de base de données. Il résout ces problèmes en incorporant essayer et attraper blocs.

Si un problème survient lors de la tentative de connexion, il s'arrête et tente de attraper et résoudre le problème. Attraper les blocs peuvent être configurés pour afficher les messages d'erreur ou exécutez un code alternatif .

Le premier paramètre dans le try and catch le bloc est DSN, qui signifie nom de la source de données (base) . Il est crucial car il définit le type et le nom de la base de données, ainsi que toute autre information supplémentaire.

Dans cet exemple, nous utilisons une base de données MySQL. Cependant, PDO prend en charge différents types de bases de données. Si vous avez une base de données différente, remplacez cette partie de la syntaxe (mysql ) avec la base de données que vous utilisez.

Vient ensuite l'AOP variable. Cette variable va établir une connexion à la base de données. Il a trois paramètres :

  1. Le nom de la source de données (dsn)
  2. Le nom d'utilisateur de votre base de données
  3. Le mot de passe de votre base de données

Voici la méthode setAttribute ajouter deux paramètres au PDO :

  1. PDO::ATTR_ERRMODE
  2. PDO ::ERRMODE_EXCEPTION

Cette méthode demande au PDO d'exécuter une exception en cas d'échec d'une requête.

Ajoutez l'écho "Connexion OK .” pour confirmer qu'une connexion est établie.

Retourner la variable PDO pour se connecter à la base de données.

Après avoir renvoyé la variable PDO, définissez la PDOException dans le catch bloquer en lui demandant d'afficher un message lorsque la connexion échoue.

Erreurs potentielles avec MySQLi et PDO

Mot de passe incorrect

Le mot de passe dans le code PHP doit correspondre à celui de la base de données. Si les deux ne correspondent pas, une connexion avec la base de données ne peut pas être établie. Vous recevrez un message d'erreur indiquant la connexion a échoué .

Solutions possibles :

  1. Vérifiez les détails de la base de données pour vous assurer que le mot de passe est correct.
  2. Assurez-vous qu'un utilisateur est affecté à la base de données.

Impossible de se connecter au serveur MySQL

PHP peut ne pas être en mesure de se connecter au serveur MySQL si le nom du serveur n'est pas reconnu. Assurez-vous que le nom du serveur est défini sur localhost .

En cas d'autres erreurs, assurez-vous de consulter le error_log fichier pour vous aider lorsque vous essayez de résoudre des problèmes. Le fichier se trouve dans le même dossier où le script est en cours d'exécution.


Cent OS
  1. Comment installer le serveur de base de données MySQL 8 sur CentOS 8

  2. Comment créer une base de données dans MySQL à l'aide de la ligne de commande

  3. Comment installer MySQL 8.0 sur CentOS/RHEL 8

  4. Comment se connecter à distance à une base de données MySQL à partir d'un ordinateur

  5. Comment restaurer la base de données MySQL à l'aide de la commande en SSH ?

Comment effectuer une sauvegarde de base de données MySQL à l'aide de cPanel cron ?

Comment sauvegarder la base de données MySQL à l'aide de cPanel ?

Comment créer une base de données dans MySQL

Comment créer une base de données à l'aide de l'assistant de base de données MySQL

Comment se connecter à MySQL en utilisant PHP

3 méthodes pour se connecter à MySQL à partir de PHP en utilisant un exemple de code