Maison  >  Article  >  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

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

WBOY
WBOYavant
2023-05-27 20:02:391565parcourir

1. Configuration de l'environnement

Avant de commencer, vous devez vous assurer que l'environnement de développement pour PHP et MySQL a été configuré. Sinon, veuillez l'installer et le configurer vous-même. Nous développons dans un environnement local et supposons que vous avez déjà configuré le serveur Web, PHP et MySQL pour les tests de code.

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

Nous utilisons l'extension mysqli en PHP pour contrôler notre connexion à 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 utilisons l'utilisateur root et le mot de passe est vide pour nous connecter au serveur MySQL local et accéder à 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 le la connexion échoue, un message d'erreur sera renvoyé. En cas de succès, vous serez en mesure d'effectuer les quatre opérations de base de base de donné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. Grâce à la fonction bind_param(), vous pouvez lier les paramètres de requête à des espaces réservés et effectuer des opérations de 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. Cette opération prépare une requête SQL et utilise la fonction préparer() pour sélectionner les informations utilisateur correspondant à l'ID donné dans 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. 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 méthode prepare() pour préparer une requête SQL qui mettra à jour les informations utilisateur correspondant à 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 l'opération de 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. Ce code appelle la fonction prepare() pour préparer une requête SQL qui supprimera les informations utilisateur de la table de données correspondant à 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 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. Nous pouvons utiliser les fonctions error_reporting() et ini_set() pour déboguer notre code. 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().

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer