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

尊渡假赌尊渡假赌尊渡假赌
Libérer: 2025-03-01 10:18:11
original
515 Les gens l'ont consulté

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);
Copier après la connexion
  • {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;
}
Copier après la connexion

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}");
Copier après la connexion

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;
Copier après la connexion

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);
Copier après la connexion

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);
Copier après la connexion

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>";
}
Copier après la connexion

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);
Copier après la connexion

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 de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal