Maison >développement back-end >tutoriel php >Commencez avec les opérations CRUD dans les bases de données PHP MySQL

Commencez avec les opérations CRUD dans les bases de données PHP MySQL

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌original
2025-03-01 10:18:11518parcourir

Ce didacticiel démontre les opérations CRUD (créer, lire, mettre à jour, supprimer) à l'aide de PHP et MySQL. C'est un excellent point de départ pour la connectivité de la base de données d'apprentissage des développeurs PHP, une compétence cruciale pour toute application Web. Nous nous concentrerons sur les fonctions Core mysqli pour la simplicité.

La connectivité de la base de données est fondamentale pour la plupart des applications Web, car les bases de données stockent les données d'application. Ce guide suppose une installation PHP et MySQL fonctionnelle avec l'extension mysqli activée. Vous pouvez le vérifier en utilisant phpinfo() (recherchez la section "MySQLI") ou l'outil de ligne de commande: php -m. La sortie doit lister mysqli si elle est activée.

Couvrons:

  • Établir une connexion de base de données
  • Sélection d'une base de données
  • Insertion et mise à jour des enregistrements
  • Récupération des enregistrements
  • Suppression des enregistrements

Connexion de la base de données:

Nous utiliserons l'approche procédurale avec la fonction mysqli_connect pour plus de clarté. La fonction prend quatre arguments:

$connection_obj = mysqli_connect("{MYSQL_HOSTNAME}", "{MYSQL_USERNAME}", "{MYSQL_PASSWORD}", "{MYSQL_DATABASE}");
var_dump($connection_obj);
  • {MYSQL_HOSTNAME}: nom d'hôte ou IP de serveur MySQL (par exemple, localhost, 127.0.0.1).
  • {MYSQL_USERNAME}: nom d'utilisateur mysql (souvent root).
  • {MYSQL_PASSWORD}: mot de passe mysql (souvent vide initialement).
  • {MYSQL_DATABASE}: le nom de la base de données.

Une connexion réussie renvoie un objet de connexion. La gestion des erreurs est essentielle:

$connection_obj = mysqli_connect("{MYSQL_HOSTNAME}", "{MYSQL_USERNAME}", "{MYSQL_PASSWORD}", "{MYSQL_DATABASE}");
if (!$connection_obj) {
    echo "Error No: " . mysqli_connect_errno();
    echo "Error Description: " . mysqli_connect_error();
    exit;
}

Sélection d'une base de données:

Bien que vous puissiez spécifier la base de données dans mysqli_connect, mysqli_select_db permet de changer de base de données après la connexion:

$connection_obj = mysqli_connect("{MYSQL_HOSTNAME}", "{MYSQL_USERNAME}", "{MYSQL_PASSWORD}");
if (!$connection_obj) { /* error handling as above */ }
mysqli_select_db($connection_obj, "{MYSQL_DATABASE}");

mysqli_select_db prend l'objet de connexion et le nom de la base de données comme arguments.

Création et mise à jour des enregistrements:

Créez une table MySQL (par exemple, en utilisant phpmyadmin):

CREATE TABLE `employee` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
  `email` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
  `phone` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

Insertion:

$name = 'John Smith';
$email = 'john.smith@yahoo.com';
$phone = '541-754-1234';

$query = "INSERT INTO employee(`name`,`email`, `phone`)
VALUES ('" . mysqli_real_escape_string($connection_obj, $name) . "','" . mysqli_real_escape_string($connection_obj, $email) . "','" . mysqli_real_escape_string($connection_obj, $phone) . "')";

mysqli_query($connection_obj, $query);

surtout, mysqli_real_escape_string empêche les vulnérabilités d'injection SQL.

Mise à jour:

$id = 1;
$phone = '333-555-4444';

$query = "UPDATE employee SET `phone` = '" . mysqli_real_escape_string($connection_obj, $phone) . "' WHERE `id` = '" . (int)$id . "'";
mysqli_query($connection_obj, $query);

Récupération des enregistrements:

$query = "SELECT * FROM employee";
$result = mysqli_query($connection_obj, $query) or die(mysqli_error($connection_obj));

while ($row = mysqli_fetch_array($result, MYSQLI_BOTH)) {
    echo "ID:" . $row['id'] . "<br>";
    echo "Name:" . $row['name'] . "<br>";
    echo "Phone:" . $row['phone'] . "<br>";
    echo "Email:" . $row['email'] . "<br><br>";
}

mysqli_fetch_array récupère les lignes; MYSQLI_BOTH permet d'accéder aux colonnes par nom ou index. mysqli_fetch_assoc fournit uniquement des tableaux associatifs.

Suppression des enregistrements:

$id = 1;
$query = "DELETE FROM employee WHERE `id` = '" . (int)$id . "'";
mysqli_query($connection_obj, $query);

N'oubliez pas de fermer la connexion en utilisant mysqli_close($connection_obj); après toutes les opérations. Cet exemple fournit une base pour des interactions plus complexes de la base de données dans PHP. N'oubliez pas de toujours désinfecter les entrées des utilisateurs pour éviter l'injection SQL.

Get Started With CRUD Operations in PHP MySQL Databases Get Started With CRUD Operations in PHP MySQL Databases Get Started With CRUD Operations in PHP MySQL Databases Get Started With CRUD Operations in PHP MySQL Databases Get Started With CRUD Operations in PHP MySQL Databases Get Started With CRUD Operations in PHP MySQL Databases

(Remarque: Les URL de l'image sont des espaces réservés de l'entrée d'origine. Remplacez-les par des URL d'image réelles si nécessaire.)

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