Maison  >  Article  >  développement back-end  >  Comment PHP+MySQL implémente les opérations d'ajout, de suppression, de modification et de requête de base de données

Comment PHP+MySQL implémente les opérations d'ajout, de suppression, de modification et de requête de base de données

PHPz
PHPzoriginal
2023-03-23 16:53:131540parcourir

PHP et MySQL sont les technologies les plus populaires dans le développement Web moderne. En utilisant ces deux technologies, les développeurs peuvent créer des applications Web dynamiques incluant le stockage et la récupération de données. Cet article expliquera comment utiliser PHP et MySQL pour implémenter des opérations d'ajout, de suppression, de modification et de requête dans la base de données.

1. Configuration de l'environnement

Avant de commencer, nous devons confirmer que l'environnement de développement pour PHP et MySQL a été configuré. Sinon, veuillez l'installer et le configurer vous-même. Afin de tester le code, nous utilisons l'environnement local pour le développement et supposons que vous avez déjà configuré le serveur Web, PHP et MySQL localement.

2. Créer la base de données

Tout d'abord, nous devons créer la base de données. Veuillez utiliser le client MySQL pour vous connecter au serveur et exécuter la commande suivante dans la console :

CREATE DATABASE test;

Cela créera une base de données nommée "test". Ensuite, nous devons passer à cette base de données :

USE test;

Ensuite, nous allons créer une table de données appelée "utilisateurs" qui contiendra les informations de l'utilisateur.

CREATE TABLE users (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(30) NOT NULL,
email VARCHAR(50) NOT NULL,
password VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

Cela créera une table de données appelée « utilisateurs » avec quatre champs : identifiant, nom, e-mail et mot de passe. id est un entier auto-incrémenté utilisé comme identifiant unique pour l'utilisateur. Les champs nom et e-mail stockent respectivement le nom et l'adresse e-mail de l'utilisateur. Le champ mot de passe stocke le mot de passe de l'utilisateur, qui doit être haché et stocké. Le champ create_at est utilisé pour stocker l'heure de création du compte utilisateur.

3. Configurer la connexion à la base de données

En PHP, nous utilisons l'extension mysqli pour gérer nos connexions à la base de données. Tout d’abord, nous devons définir quelques constantes pour stocker les valeurs de configuration​​de la connexion à la base de données. Dans cet exemple, nous allons nous connecter au serveur MySQL local avec le nom d'utilisateur root, le mot de passe vide et le nom de la base de données test :

define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define('DB_NAME', 'test');

Ensuite, nous utilisons la fonction mysqli_connect() pour nous connecter au serveur de base de données :

$mysqli = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

Si connecté En cas d'échec, un message d'erreur sera renvoyé. En cas de succès, les quatre opérations de base de base suivantes peuvent être effectuées : créer, lire, mettre à jour et supprimer.

4. Implémenter les opérations d'ajout, de suppression, de modification et de requête

  1. Ajouter à la base de données

La fonction suivante est utilisée pour ajouter des informations utilisateur à la table de données :

function create_user($name, $email, $password) {
global $mysqli;

$hashed_password = password_hash($password, PASSWORD_DEFAULT);

$stmt = $mysqli->prepare("INSERT INTO users (name, email, password) VALUES (?, ?, ?)");
$stmt->bind_param("sss", $name, $email, $hashed_password);
$stmt->execute();

return $mysqli->insert_id;
}

Cette fonction nécessite trois paramètres : nom d'utilisateur, adresse e-mail et mot de passe. Il hache d’abord le mot de passe à l’aide de la fonction password_hash(). Ensuite, utilisez la fonction prepare() pour préparer une requête SQL qui ajoutera le nom d'utilisateur, l'adresse e-mail et le mot de passe haché à la table de données. La fonction bind_param() lie les paramètres aux espaces réservés de requête et exécute la requête. Enfin, utilisez la fonction insert_id() pour obtenir l'identifiant unique du nouvel utilisateur.

  1. Obtenir les données de la base de données

La fonction suivante obtient les informations utilisateur dans la base de données via l'ID de l'utilisateur :

function get_user($id) {
global $mysqli;

$stmt = $mysqli->prepare("SELECT * FROM users WHERE id = ?");
$stmt->bind_param("i", $id);
$stmt->execute();

$result = $stmt->get_result();

if ($result->num_rows === 0) {
    return null;
}

return $result->fetch_assoc();
}

Cette fonction nécessite un paramètre : l'identifiant unique de l'utilisateur. Il utilise la fonction prepare() pour préparer une requête SQL qui sélectionnera les informations utilisateur dans la table de données qui correspondent à l'ID fourni. La fonction bind_param() lie les paramètres aux espaces réservés de requête et exécute la requête. Utilisez ensuite la fonction get_result() pour obtenir les résultats de la requête et renvoyer un tableau associatif (si l'enregistrement est trouvé) ou null (si l'enregistrement n'est pas trouvé).

  1. Mettre à jour la base de données

La fonction suivante est utilisée pour mettre à jour les informations utilisateur dans la base de données :

function update_user($id, $name, $email, $password) {
global $mysqli;

$hashed_password = password_hash($password, PASSWORD_DEFAULT);

$stmt = $mysqli->prepare("UPDATE users SET name = ?, email = ?, password = ? WHERE id = ?");
$stmt->bind_param("sssi", $name, $email, $hashed_password, $id);
$stmt->execute();

return $stmt->affected_rows === 1;
}

Cette fonction nécessite quatre paramètres : identifiant utilisateur, nom d'utilisateur, adresse e-mail et mot de passe. Il hache d’abord le mot de passe à l’aide de la fonction password_hash(). Ensuite, utilisez la fonction prepare() pour préparer une requête SQL qui mettra à jour les informations utilisateur dans la table de données qui correspondent à l'ID fourni. La fonction bind_param() lie les paramètres aux espaces réservés de requête et exécute la requête. Enfin, utilisez la fonction affectée_rows() pour vérifier si la mise à jour a réussi et renvoyer une valeur booléenne.

  1. Supprimer les données de la base de données

La fonction suivante est utilisée pour supprimer les informations utilisateur de la base de données :

function delete_user($id) {
global $mysqli;

$stmt = $mysqli->prepare("DELETE FROM users WHERE id = ?");
$stmt->bind_param("i", $id);
$stmt->execute();

return $stmt->affected_rows === 1;
}

Cette fonction nécessite un paramètre : l'ID utilisateur. Il utilise la fonction prepare() pour préparer une requête SQL qui supprimera les informations utilisateur correspondant à l'ID fourni de la table de données. La fonction bind_param() lie les paramètres aux espaces réservés de requête et exécute la requête. Enfin, utilisez la fonction affectée_rows() pour vérifier si la suppression a réussi et renvoyer une valeur booléenne.

5. Débogage et optimisation

Dans tout processus de développement Web, le débogage et l'optimisation sont très importants. Afin de déboguer notre code, nous pouvons utiliser les fonctions error_reporting() et ini_set(). Ces fonctions sont utilisées pour définir les niveaux de rapport d'erreurs et les paramètres d'affichage des messages d'erreur. Afin d'optimiser notre code, nous devons éviter autant que possible les chaînes concaténées dans les requêtes de base de données et utiliser à la place la fonction prepare() et la fonction bind_param().

6. Résumé

En utilisant PHP et MySQL, nous pouvons facilement créer des applications Web avec des capacités de stockage et de récupération de données. Dans cet article, nous avons expliqué comment utiliser ces deux technologies pour implémenter des opérations de base de base de données : créer, lire, mettre à jour et supprimer. En implémentant le code ci-dessus, vous apprendrez à vous connecter à la base de données, à créer des tables de base de données, à ajouter, lire, mettre à jour et supprimer des données utilisateur. Ces compétences vous seront très utiles dans vos futurs métiers de développement web.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn