PHP se connecte à MySQL
PHP se connecte à MySQL
Il est recommandé à PHP 5 et supérieur d'utiliser la méthode suivante pour se connecter à MySQL :
· Extension MySQLi ("i" signifie amélioré )
· PDO (PHP Data Objects)
Dans les premières versions de PHP, nous utilisons l'extension MySQL. Cependant, cette extension est devenue obsolète en 2012.
Qu'est-ce que l'AOP ?
est la méthode pour faire fonctionner la base de données,
pdo consiste à encapsuler la fonction d'exploitation de la base de données dans une classe pdo et à effectuer uniquement une vérification de sécurité pendant celle-ci.
La différence entre PDO et mysqli :
Dois-je 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. 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 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 pour démontrer que PHP utilise MySQL :
· MySQLi (orienté objet)
$mysqli = new mysqli('localhost','username','password','database');
· MySQLi (orienté processus )
$mysqli = mysqli_connect('localhost','username','password','database');
· PDO
$pdo = new PDO(" mysql :host=localhost;dbname=database", 'username', 'password');
Installation MySQL
Linux et Windows : in Lorsque le package php5 mysql est installé, l'extension MySQLi est automatiquement installée dans la plupart des cas.
Pour les détails de l'installation, veuillez vérifier : http://php.net/manual/en/mysqli.installation.php
Vous pouvez vérifier si l'installation a réussi via phpinfo() :
Installation PDO
Pour les détails d'installation, veuillez vérifier : http:/ /php .net/manual/en/pdo.installation.php
Vous pouvez vérifier si l'installation a réussi via phpinfo() :
Connexion à MySQL
Avant d'accéder à la base de données MySQL, nous devons nous connecter vers le serveur de base de données :
Instance (MySQLi - Orienté objet)
$link = mysqli_connect('localhost', 'mysql_user', 'mysql_password');
Les trois paramètres sont
· Adresse du serveur (nom de domaine, IP)
· Nom d'utilisateur de la base de données (root)
· Mot de passe de la base de données (vide)
Si la connexion réussit, renvoie une connexion à la base de données, sinon renvoie false (nous pouvons utiliser if jugement pour demander à l'utilisateur si la connexion est réussie)
<?php $servername = "localhost"; $username = "username"; $password = "password"; // 创建连接 $conn = new mysqli($servername, $username, $password); // 检测连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } echo "连接成功"; ?>
Notez que dans le L'exemple orienté objet ci-dessus $ connect_error 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("La connexion à la base de données a échoué : " . mysqli_connect_error());
>
Instance (MySQLi - Orienté procédure)
<?php $servername = "localhost"; $username = "username"; $password = "password"; // 创建连接 $conn = mysqli_connect($servername, $username, $password); // 检测连接 if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } echo "连接成功"; ?>
Instance (PDO)
<?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(); } ?>
Notez que dans l'instance 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.
Sélectionner la base de données
$db_selected = mysqli_select_db($link, 'db_name');
Deux paramètres
• La connexion à la base de données renvoyée par mysql_connect
• Le nom de la base de données
renvoie vrai en cas de succès et faux en cas d'échec
Vous pouvez également sélectionner directement lors de la connexion à la base de données :
$link = mysqli_connect('localhost', 'mysql_user', 'mysql_password', 'db_name');
Fermer la connexion
La connexion sera fermée automatiquement après l'exécution du script. 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;
Rappel amical :
N'oubliez pas d'être négligent et de ne pas faire attention lorsque vous écrivez des programmes. C'est vraiment le plus grand tabou dans l'écriture de programmes. Une erreur ou une autre erreur inconnue peut survenir en raison d'une erreur de nom ou d'une erreur d'écriture dans le nom de la table de données. Par conséquent, lorsque vous écrivez du code à l'avenir, vous devez être prudent et non arrogant ou arrogant, afin de pouvoir écrire du bon code et éviter toute confusion.