Maison >développement back-end >Problème PHP >Une brève analyse de la façon dont PHP exploite la base de données
La base de données est une partie importante de la programmation réseau. Elle est utilisée pour stocker et gérer de grandes quantités de données. Dans les applications réseau, les informations sur les utilisateurs, les informations sur les produits et d'autres informations sur les données doivent être stockées et gérées. Le fonctionnement de la base de données est donc une partie essentielle du développement d'un site Web. En tant que langage de programmation de serveur back-end largement utilisé, PHP nous fournit également une série de fonctions d'exploitation de base de données, nous permettant d'ajouter, de supprimer et de modifier facilement la base de données.
Cet article présentera brièvement les opérations courantes d'ajout, de suppression et de modification de bases de données en PHP, y compris les instructions SQL, les classes PDO et les classes MySQLi. J'espère que l'introduction de cet article pourra aider les développeurs à mieux comprendre le fonctionnement des bases de données sous PHP.
1. Instruction SQL
L'instruction SQL est un langage de requête général dans la base de données, qui est utilisé pour faire fonctionner la base de données via des instructions pour effectuer l'ajout, la suppression, la modification, l'interrogation et d'autres opérations de données. Pour faire fonctionner la base de données via des instructions SQL en PHP, vous pouvez utiliser la fonction mysql_query(), la fonction mysqli_query() et les instructions de prétraitement PDO.
Fonction 1.mysql_query()
La fonction mysql_query() est une fonction utilisée en PHP pour exécuter des instructions SQL. Pour utiliser cette fonction, vous devez vous connecter aux données MySQL, puis transmettre des instructions SQL via cette fonction pour opérer sur les données. Par exemple, insérez des données à l'aide de la commande INSERT :
<?php $con = mysql_connect("localhost","root","password"); mysql_select_db("my_db", $con); mysql_query("INSERT INTO Persons (FirstName, LastName, Age) VALUES ('Peter', 'Griffin', '35')"); mysql_close($con); ?>
2.mysqli_query() fonction
mysqli_query() est une fonction en PHP pour les instructions SQL avec des liaisons de paramètres. Contrairement à la fonction mysql_query(), la fonction mysqli_query() prend en charge les instructions SQL avec des liaisons de paramètres. Par exemple, l'insertion de données à l'aide de la commande INSERT peut être écrite comme suit :
<?php $mysqli = new mysqli("localhost", "root", "password", "my_db"); $stmt = $mysqli->prepare("INSERT INTO Persons (FirstName, LastName, Age) VALUES (?, ?, ?)"); $stmt->bind_param("ssi", $fname, $lname, $age); $fname = "Peter"; $lname = "Griffin"; $age = 35; $stmt->execute(); $stmt->close(); $mysqli->close(); ?>
3.Instruction préparée PDO
PDO (PHP Data Objects) est une extension PHP qui peut être utilisée pour accéder et faire fonctionner différents types de bases de données, notamment MySQL, Oracle et SQL Server, etc. Grâce aux instructions préparées par PDO, nous pouvons exécuter des instructions SQL en fonction des paramètres transmis. Par exemple, pour insérer des données, utilisez la commande INSERT :
<?php $pdo = new PDO("mysql:host=localhost;port=3306;dbname=my_db", "root", "password"); $statement = $pdo->prepare("INSERT INTO Persons (FirstName, LastName, Age) VALUES (:fname, :lname, :age)"); $statement->bindParam(':fname', $fname); $statement->bindParam(':lname', $lname); $statement->bindParam(':age', $age); $fname = "Peter"; $lname = "Griffin"; $age = 35; $statement->execute(); $pdo = null; ?>
2. Classe PDO
La classe PDO est un package en PHP utilisé pour interagir avec la base de données. Pour nous connecter à la base de données via la classe PDO, nous pouvons utiliser la méthode préparer() pour créer une instruction préparée, ajouter des paramètres à l'instruction SQL, puis fournir l'instruction SQL et les données à la méthode exécuter(). La classe PDO fournit également des méthodes telles que beginTransaction() et commit() pour ouvrir et soumettre des transactions.
<?php $pdo = new PDO("mysql:host=localhost;port=3306;dbname=my_db", "root", "password"); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->beginTransaction(); try { $statement = $pdo->prepare("INSERT INTO Persons (FirstName, LastName, Age) VALUES (?, ?, ?)"); $statement->bindParam(1, $fname); $statement->bindParam(2, $lname); $statement->bindParam(3, $age); $fname = "Peter"; $lname = "Griffin"; $age = 35; $statement->execute(); $pdo->commit(); } catch(PDOException $e) { $pdo->rollback(); echo "Error: " . $e->getMessage(); } $pdo = null; ?>
3. Classe MySQLi
La classe MySQLi est une bibliothèque d'extension pour utiliser MySQL en PHP. Elle fournit des fonctions plus puissantes et sécurisées que les fonctions mysql_* et prend en charge les nouvelles fonctionnalités du serveur MySQL, telles que les transactions et les procédures stockées. Pour utiliser la classe MySQLi, vous devez créer une instance de la classe mysqli via le nouveau mot-clé, puis appeler la méthode connect() pour vous connecter au serveur MySQL.
<?php $mysqli = new mysqli("localhost", "root", "password", "my_db"); $mysqli->query("INSERT INTO Persons (FirstName, LastName, Age) VALUES ('Peter', 'Griffin', '35')"); $mysqli->close(); ?>
Résumé
Cet article présente principalement les opérations courantes d'ajout, de suppression et de modification de bases de données en PHP, y compris les instructions SQL, les classes PDO et les classes MySQLi. Grâce à l'introduction de cet article, nous pouvons en apprendre davantage sur les différentes méthodes de fonctionnement et leurs avantages et inconvénients, et également noter le rôle de la liaison des paramètres dans la sécurité. Bien entendu, dans le développement réel, il est également nécessaire d'adopter la manière la plus appropriée d'exploiter la base de données en fonction des besoins du projet afin de maximiser les besoins des utilisateurs.
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!