Pour PHP 5 et supérieur, il est recommandé d'utiliser la méthode suivante pour se connecter à MySQL :
Extension MySQLi ("i" signifie amélioré)
PDO (objets de données PHP)
Dans les versions antérieures de PHP, nous utilisions l'extension MySQL. Cependant, cette extension est obsolète depuis 2012.
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 cible uniquement les bases de données MySQL.
Par conséquent, si votre projet doit basculer entre plusieurs bases de données, il est recommandé d'utiliser PDO, afin que vous n'ayez qu'à modifier la chaîne de connexion et certaines instructions de requête. Avec MySQLi, si vous utilisez une autre base de données, 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 soutiennent 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.
Dans ce chapitre et les chapitres suivants, nous utiliserons les trois méthodes suivantes pour démontrer le fonctionnement de PHP avec MySQL :
MySQLi (orienté objet)
MySQLi (orienté procédure)
AOP
Linux et Windows : Dans la plupart des cas, l'extension MySQLi est automatiquement installée lorsque le package php5 mysql est installé.
Pour les détails d'installation, veuillez consulter : http://php.net/manual/en/mysqli.installation.php
Vous pouvez vérifier si l'installation a réussi via phpinfo() :
Pour les détails d'installation, veuillez consulter : http://php.net/manual/en/pdo.installation.php
Vous pouvez vérifier si l'installation a réussi via phpinfo() :
Avant d'accéder à la base de données MySQL, nous devons nous connecter au serveur de base de données :
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 code suivant pour remplacer : // Vérifiez la connexion if (mysqli_connect_error()) { die("La connexion à la base de données a échoué : " . mysqli_connect_error());} |
Notez que dans l'exemple PDO ci-dessus, 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 rien n’est spécifié, une exception sera levée. |
La connexion sera fermée automatiquement après l'exécution du script. Vous pouvez également utiliser le code suivant pour fermer la connexion :