Maison > développement back-end > PHP7 > Comment se connecter à une base de données (MySQL, PostgreSQL) avec PHP 7?

Comment se connecter à une base de données (MySQL, PostgreSQL) avec PHP 7?

Johnathan Smith
Libérer: 2025-03-10 16:46:14
original
978 Les gens l'ont consulté

Comment se connecter à une base de données (MySQL, PostgreSQL) avec PHP 7?

La connexion aux bases de données MySQL et PostgreSQL de PHP 7 implique l'utilisation des extensions de base de données respectives et de leurs fonctions associées. Les deux nécessitent l'établissement d'une connexion à l'aide de paramètres de connexion: nom d'hôte, nom d'utilisateur, mot de passe et nom de base de données du serveur. Bien que les fonctions spécifiques diffèrent, le principe sous-jacent reste le même.

Connexion MySQL:

Extension MySQLI de PHP (l'extension MySQL améliorée) fournit un moyen robuste d'interagir avec les bases de données MySQL. La fonction centrale est mysqli_connect(). Cette fonction prend le nom d'hôte (ou l'adresse IP) du serveur, le nom d'utilisateur, le mot de passe et le nom de la base de données comme arguments. Il renvoie un objet de connexion sur une connexion réussie, ou false en cas de défaillance.

<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database_name";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
$conn->close();
?>
Copier après la connexion
Copier après la connexion

Connexion postgresql:

Pour PostgreSQL, PHP utilise la fonction pg_connect() de l'extension pg_. Semblable à MySQLI, il nécessite l'adresse du serveur, le nom d'utilisateur, le mot de passe et le nom de la base de données. La fonction renvoie une ressource de connexion sur le succès, ou false sinon.

<?php
$conn_string = "host=localhost port=5432 dbname=your_database_name user=your_username password=your_password";
$conn = pg_connect($conn_string);

if (!$conn) {
  die("Error in connection: " . pg_last_error());
}
echo "Connected successfully";
pg_close($conn);
?>
Copier après la connexion

N'oubliez pas d'installer les extensions PHP nécessaires (mysqli pour MySQL et pg_ pour PostgreSQL) avant d'exécuter ce code. Cela peut généralement être fait via le gestionnaire de packages de votre système ou en compilant PHP avec les options appropriées.

Quelles sont les fonctions PHP spécifiques nécessaires pour établir une connexion de base de données à l'aide de MySQL et de PostgreSQL?

Comme détaillé ci-dessus, les fonctions principales sont:

  • MySQL: mysqli_connect() (ORIVEAT-ORIENTED: MySQL: new mysqli() mysqli_select_db() (ORIVEOT-ORIENTED: MySQL:
  • (ORIVEAT-ORIENTED: MySQL: (ORIVEAT-ORIENTED: MySQL: pg_connect()) est la fonction principale pour établir une connexion. D'autres fonctions connexes, comme pg_pconnect() (pour sélectionner une base de données spécifique après la connexion), sont également souvent utilisées.

PostgreSQL:

est la fonction fondamentale pour se connecter à une base de données postgresql. Il existe également d'autres fonctions comme

(pour les connexions persistantes) disponibles.

Comment gérer les erreurs potentielles pendant le processus de connexion de la base de données dans PHP 7?

La gestion robuste des erreurs est cruciale. Ne comptez jamais sur l'absence d'un message d'erreur pour assumer une connexion réussie. Vérifiez toujours explicitement les erreurs après avoir tenté de se connecter. mysqli_connect() false mysqli mysql: connect_error

$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}
Copier après la connexion
La fonction

renvoie en cas de défaillance. La propriété de l'objet

fournit un message d'erreur détaillé.

pg_connect() false pg_last_error() PostgreSQL:

<🎜> <🎜> <🎜> Renvoie <🎜> en cas de défaillance. La fonction <🎜> récupère le dernier message d'erreur. <🎜>
<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database_name";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
$conn->close();
?>
Copier après la connexion
Copier après la connexion

Au-delà des erreurs de connexion simples, envisagez d'utiliser des blocs d'essai pour une gestion des erreurs plus complète, en particulier lorsque vous effectuez des requêtes de base de données. Les erreurs de journalisation dans un fichier ou les notifications d'erreur d'envoi sont également de bonnes pratiques.

Quelles sont les meilleures pratiques pour sécuriser les informations d'identification de la base de données lors de la connexion aux bases de données MySQL et PostgreSQL à partir d'une application PHP 7? Il s'agit d'un risque de sécurité majeur. Au lieu de cela, utilisez des variables d'environnement, des fichiers de configuration ou des systèmes de gestion secrète dédiés.

    Variables d'environnement:
  • Stocker les informations d'identification en tant que variables d'environnement sur votre serveur. Votre code PHP peut ensuite y accéder à l'aide de . getenv()
  • Fichiers de configuration:
  • Créer un fichier de configuration distinct (par exemple, ) et y strer des informations d'identification. Gardez ce fichier en dehors de votre webroot et assurez-vous qu'il n'est pas accessible via le Web. Utilisez ou des mécanismes similaires pour le protéger. config.php .htaccess
  • Systèmes de gestion secrète:
  • Pour les applications plus grandes, envisagez d'utiliser des solutions de gestion secrètes dédiées comme Hashicorp Vault ou AWS Secrets Manager. Ceux-ci fournissent des moyens plus sécurisés de stocker et de gérer des informations sensibles.
  • Le moins de privilèges:
  • Accordez votre utilisateur de base de données uniquement les privilèges nécessaires. Évitez d'utiliser un utilisateur avec des privilèges de superutilisateurs si possible.
  • Validation d'entrée:
  • Toujours désinfecter et valider toute entrée utilisateur avant de l'utiliser dans les requêtes de base de données pour éviter les vulnérabilités d'injection SQL. Utilisez des instructions préparées ou des requêtes paramétrées pour protéger davantage contre l'injection de SQL.
  • N'oubliez pas d'examiner et de mettre à jour régulièrement vos pratiques de sécurité. La mise à jour de votre logiciel de base de données et de votre PHP est également cruciale pour corriger les vulnérabilités connues.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal