English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans ce tutoriel, vous apprendrez à vous connecter au serveur MySQL en utilisant PHP.
Pour stocker ou accéder aux données dans une base de données MySQL, vous devez d'abord vous connecter au serveur de base de données MySQL. PHP offre deux méthodes différentes pour se connecter au serveur MySQL :MySQLi(amélioré MySQL) etPDO(PHP Data Objects) extension.
Bien que l'extension PDO soit plus portable et supporte plus de douze bases de données différentes, comme son nom l'indique, l'extension MySQLi ne prend en charge que la base de données MySQL. Cependant, l'extension MySQLi offre une méthode simple pour se connecter au serveur de base de données MySQL et y exécuter des requêtes. PDO et MySQLi fournissent tous deux une API orientée objet, mais MySQLi offre également une API procédurale, ce qui est relativement facile à comprendre pour les débutants.
Avis :与PDO扩展相比,PHP的MySQLi扩展同时提供了速度和功能优势,因此对于特定于MySQL的项目,它可能是更好的选择。
在PHP中,您可以使用mysqli_connect()函数轻松地执行此操作。PHP和MySQL数据库服务器之间的所有通信都通过此连接进行。以下是使用MySQLi和PDO扩展连接到MySQL的三种基本语法:
$link = mysqli_connect("hostname", "username", "password", "database");
$mysqli = new mysqli("hostname", "username", "password", "database");
$pdo = new PDO("mysql:host=hostname;dbname=database", "username", "password");
上面语法中的hostname参数指定主机名(例如localhost)或MySQL服务器的IP地址,而username和password参数指定访问MySQL服务器的凭据,而数据库参数(如果提供)将指定默认MySQL 执行查询时要使用的数据库。
下面的示例演示如何使用MySQLi(程序和面向对象的方式)和PDO扩展连接到MySQL数据库服务器。
<?php /* Essayer de se connecter au serveur MySQL. Supposons que vous exécutez MySQL. Serveur avec paramètres par défaut (utilisateur sans mot de passe "root") */ $link = mysqli_connect("localhost", "root", ""); // Vérifier la connexion if($link === false){ die("Erreur : Impossible de se connecter." . mysqli_connect_error()); } //Afficher les informations de l'hôte echo "Connexion réussie. Informations de l'hôte : " . mysqli_get_host_info($link); ?>
<?php /* Essayer de se connecter au serveur MySQL. Supposons que vous exécutez MySQL. Serveur avec paramètres par défaut (utilisateur sans mot de passe "root") */ $mysqli = new mysqli("localhost", "root", "", "demo"); // Vérifier la connexion if($mysqli === false){ die("Erreur : Impossible de se connecter." . $mysqli->connect_error); } //Afficher les informations de l'hôte echo "连接成功。 主机信息:" . $mysqli->host_info; ?>
<?php /*Essayer de se connecter au serveur MySQL. Supposons que vous exécutez MySQL. Serveur avec paramètres par défaut (utilisateur sans mot de passe "root") */ try{ $pdo = new PDO("mysql:host=localhost", "root", ""); //Définir le mode d'erreur PDO sur les exceptions $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //Afficher les informations de l'hôte echo "连接成功。 主机信息:" . $pdo->getAttribute(constant("PDO::ATTR_CONNECTION_STATUS")); } catch(PDOException $e){ die("错误:无法连接。 " . $e->getMessage()); } ?>
Attention : Le serveur de base de données MySQL utilise par défaut le nom d'utilisateur root, sans mot de passe. Cependant, pour prévenir les intrusions et les accès non autorisés à la base de données, vous devriez définir un mot de passe pour le compte MySQL.
Avis :Définir l'attribut PDO::ATTR_ERRMODE sur PDO::ERRMODE_EXCEPTION informera PDO de lancer une exception lors d'une erreur de base de données.
Après l'exécution du script, la connexion au serveur de base de données MySQL sera fermée automatiquement. Mais si vous souhaitez la fermer avant, il suffit d'appeler la fonction PHP mysqli_close().
<?php /*Essayer de se connecter au serveur MySQL. Supposons que vous exécutez MySQL. Serveur avec paramètres par défaut (utilisateur sans mot de passe "root")*/ $link = mysqli_connect("localhost", "root", ""); // Vérifier la connexion if($link === false){ die("Erreur : Impossible de se connecter." . mysqli_connect_error()); } // Afficher les informations de l'hôte echo "Connexion réussie. Informations de l'hôte : " . mysqli_get_host_info($link); // Fermer la connexion mysqli_close($link); ?>
<?php /*Essayer de se connecter au serveur MySQL. Supposons que vous exécutez MySQL. Serveur avec paramètres par défaut (utilisateur sans mot de passe "root") */ $mysqli = new mysqli("localhost", "root", "", "demo"); // Vérifier la connexion if($mysqli === false){ die("Erreur : Impossible de se connecter." . $mysqli->connect_error); } // Afficher les informations de l'hôte echo "Connexion réussie. Informations de l'hôte : " . $mysqli->host_info; // Fermer la connexion $mysqli->close(); ?>
<?php /* Essayer de se connecter au serveur MySQL. Supposons que vous exécutez MySQL. Serveur avec paramètres par défaut (utilisateur sans mot de passe "root") */ try{ $pdo = new PDO("mysql:host=localhost;dbname=demo", "root", ""); //Définir le mode d'erreur PDO sur les exceptions $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //Afficher les informations de l'hôte echo "Connexion réussie. Informations de l'hôte : " . $pdo->getAttribute(constant("PDO::ATTR_CONNECTION_STATUS")); } catch(PDOException $e){ die("Erreur : Impossible de se connecter." . $e->getMessage()); } //Fermer la connexion unset($pdo); ?>