PHP se connecte à MySQL

PHP 5 et supérieur sont recommandés pour utiliser la méthode suivante pour se connecter à MySQL :

· MySQLi extension ("i" signifie amélioré)

· PDO (PHP Data Objects)

Dans les premières versions de PHP, nous utilisons l'extension MySQL. Mais cette extension est obsolète depuis 2012, car un ensemble de fonctions de mysql sont obsolètes


Je devrais utiliser MySQLi ou PDO ? >

Si vous avez besoin d'une réponse courte, "utilisez celle avec laquelle vous êtes à l'aise".

MySQLi et PDO ont leurs propres avantages :

PDO est utilisé dans 12 bases de données différentes, et MySQLi ne cible que les bases de données MySQL.

Ainsi, si votre projet doit basculer entre plusieurs bases de données, il est recommandé d'utiliser PDO, de sorte qu'il vous suffit de modifier la chaîne de connexion et l'instruction de requête du département. En utilisant MySQLi, si vous utilisez une base de données différente, vous devez réécrire tout le code, y compris les requêtes.

Les deux sont orientés objet, mais MySQLi fournit également une interface API.

Les deux prennent en charge les déclarations préparées. Les instructions préparées peuvent empêcher l'injection SQL et sont très importantes pour la sécurité des projets Web.


MySQLi et PDO se connectent à l'instance MySQL

Dans ce chapitre et les chapitres suivants, nous utiliserons les trois méthodes suivantes Toute façon de démontrer comment faire fonctionner MySQL avec PHP : >Connecter MySQL

Syntaxe


mysql_connect (nom du serveur, nom d'utilisateur, mot de passe);

Paramètre

Description

le nom du serveur
est facultatif. Spécifie le serveur auquel se connecter. La valeur par défaut est "localhost:3306".

nom d'utilisateur
Facultatif. Spécifie le nom d'utilisateur avec lequel se connecter. La valeur par défaut est le nom de l'utilisateur propriétaire du processus serveur.
mot de passefacultatif. Spécifie le mot de passe à utiliser pour la connexion. La valeur par défaut est "".

Avant d'accéder à la base de données MySQL, nous devons d'abord nous connecter au serveur de base de données :


Instance (MySQLi - Orienté Objet)

<?php
 $servername = "localhost";
 $username = "username";
 $password = "password";
 
 // 创建连接
 $conn = new mysqli($servername, $username, $password);
 
 // 检测连接
 if ($conn->connect_error) {
     die("连接失败: " . $conn->connect_error);
 }
 echo "连接成功";
 ?>

Notez que $connect_error dans l'exemple orienté objet ci-dessus a été ajouté dans PHP 5.2.9 et 5.3.0. Si vous avez besoin d'une compatibilité avec les versions antérieures, veuillez utiliser le remplacement de code suivant :

// Détecter la connexion
if (mysqli_connect_error()) {
die("Échec de la connexion à la base de données : " . mysqli_connect_error ()); >


Instance (PDO)

<?php
 $servername = "localhost";
 $username = "username";
 $password = "password";
 
 // 创建连接
 $conn = mysqli_connect($servername, $username, $password);
 
 // 检测连接
 if (!$conn) {
     die("Connection failed: " . mysqli_connect_error());
 }
 echo "连接成功";
 ?>

Remarque : Dans le PDO ci-dessus. Dans l'exemple, nous avons spécifié la base de données (myDB). PDO doit définir le nom de la base de données pendant le processus de connexion. Si non spécifié, une exception sera levée


Fermer la connexion

La connexion sera automatiquement fermée une fois le script exécuté . Vous pouvez également utiliser le code suivant pour fermer la connexion :

Instance (MySQLi - Orienté Objet)

$conn-> ;close ();

Instance (MySQLi - orienté procédure)

mysqli_close($conn );

Instance (PDO)

$conn = null;

Instance

Dans l'exemple suivant, nous stockons la connexion à la base de données dans une variable ($con). Si la connexion échoue, la partie « mourir » sera exécutée ; si la connexion réussit, la connexion sera fermée après l'exécution du programme.

<?php
 $servername = "localhost";
 $username = "username";
 $password = "password";
 
 try {
     $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
     echo "连接成功";
 }
 catch(PDOException $e)
 {
     echo $e->getMessage();
 }
 ?>

Le code ci-dessus signifie se connecter à un serveur nommé localhost, le nom d'utilisateur est root, le mot de passe est root et la base de données de test est utilisée si la connexion échoue, exécutez le code dans die

Résultat de l'exécution du programme :

Connexion réussie à la base de données

Formation continue
||
<?php $servername = "localhost"; $username = "username"; $password = "password"; // 创建连接 $conn = new mysqli($servername, $username, $password); // 检测连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } echo "连接成功"; ?>
soumettreRéinitialiser le code
  • Recommandations de cours
  • Téléchargement du didacticiel