Résumé des opérations de base de l'apprentissage et du développement de Mysqli-CURD

齐天大圣
Libérer: 2023-04-08 15:50:01
original
1553 Les gens l'ont consulté

Depuis PHP 5.5, l'extension mysql a été complètement supprimée, et il est officiellement recommandé d'utiliser MySQLI ou PDO à la place. Cet article parle principalement de certaines opérations de base de mysqli. Il existe deux styles d'écriture utilisant MySQLi, le style objet ou le style fonctionnel. Ci-dessous, nous montrons uniquement le style d'écriture fonctionnel.

Connexion à la base de données

Vous devez d'abord vous connecter à la base de données. Avant de nous connecter aux données, nous devons généralement préparer le compte de base de données, le mot de passe, le numéro de port et le nom de la base de données.

Pour des raisons de réseau ou d'autres raisons, il est souvent impossible de se connecter à la base de données, nous devons donc gérer l'échec de connexion.

<?php
// 数据库连接
$mysqli = mysqli_connect(
   &#39;localhost&#39;,
   &#39;root&#39;,
   &#39;&#39;,
   &#39;test&#39;
);

if (mysqli_connect_errno()) {
   throw new Exception(&#39;databases connect error:&#39;
       .mysqli_connect_error());
}

// ...一些数据库操作
// 关闭数据库资源
mysqli_close($mysqli);
Copier après la connexion

Définissez le jeu de caractères

Définissez le jeu de caractères en utilisant mysqli_set_charset();

Actuellement, nous utilisons principalement utf8mb4 pour le jeu de caractères Parce qu'il prend en charge les caractères de 4 octets. Il prend en charge certains caractères emoji. Bien sûr, si vous n'avez pas besoin de prendre en charge les caractères de 4 octets, vous pouvez choisir d'utiliser utf8, car il dispose de plus d'espace.

mysqli_set_chartset($mysqli, &#39;utf8mb4&#39;);
Copier après la connexion

Resélectionner la base de données

Une fois la base de données connectée, vous pouvez également resélectionner la base de données.

mysqli_select_db($mysqli, &#39;数据库名&#39;);
Copier après la connexion

Opération CURD

mysqli_query() : effectuez une opération sur la base de données, DDL, DQL et DML sont tous pris en charge.

mysqli_affected_rows() : obtenez le nombre de lignes d'enregistrement affectées.

Opération d'ajout de données

mysqli_query($mysqli,
   "INSERT INTO users(username, age, sex)
               VALUES(&#39;周杰伦&#39;, 35, &#39;男&#39;),
                      (&#39;谢霆锋&#39;, 35, &#39;男&#39;)"
);

if (mysqli_affected_rows($mysqli) <= 0) {
   throw new Exception(&#39;databases insert error:&#39;
       . mysqli_error($mysqli));
}
Copier après la connexion

Opération de modification de données

Il y a un point à noter ici, la valeur renvoyée par mysqli_affected_rows est 0. Il met à jour exactement les mêmes informations que la dernière fois, ce qui est très courant. Par exemple, lors d'une modification, le bouton Modifier est cliqué plusieurs fois de suite. Mais cela ne signifie pas qu’il y a un problème avec le code du programme. Par conséquent, contrairement au nouvel ajout, renvoyer 0 devrait également être un statut de réussite.

mysqli_query($mysqli,
   "UPDATE users SET age=40 WHERE user_id = 1"
);

if (mysqli_affected_rows($mysqli) < 0) {
   throw new Exception(&#39;databases update error:&#39;
       . mysqli_error($mysqli));
}
Copier après la connexion

Opération de suppression de données

Remarque : les opérations de modification et de suppression doivent ajouter des conditions où , sinon les données de la table entière seront modifiées, avec des conséquences désastreuses (supprimer la base de données et fuir o(╯□╰)o).

mysqli_query($mysqli,
   "Delete FROM users  WHERE user_id = 100"
);

if (mysqli_affected_rows($mysqli) <= 0) {
   throw new Exception(&#39;databases delete error:&#39;
       . mysqli_error($mysqli));
}
Copier après la connexion

Opération de requête

Lorsque mysqli_query exécute une instruction de requête, cette fonction renvoie le jeu de résultats mysqli_result.

mysqli_fetch_all() récupère toutes les données de l'ensemble de résultats. Le deuxième paramètre de cette fonction peut spécifier le format des données renvoyées. Ce sont :

  • MYSQLI_NUM : Renvoie le tableau d'index

  • MYSQLI_ASSOC : Renvoie le tableau associatif

  • MYSQLI_BOTH : Tableau d'index et tableau associatif

Notez également qu'une fois l'opération sur l'ensemble de résultats terminée, n'oubliez pas de détruire les ressources de l'ensemble de résultats.

// 数据库连接
$mysqli = mysqli_connect(
   &#39;localhost&#39;,
   &#39;root&#39;,
   &#39;&#39;,
   &#39;test&#39;
);
if (mysqli_connect_errno()) {
   throw new Exception(&#39;databases connect error:&#39;
       .mysqli_connect_error());
}
mysqli_set_charset($mysqli, &#39;utf8mb4&#39;);
$result = mysqli_query($mysqli,
   "SELECT * FROM users"
);
if (mysqli_affected_rows($mysqli) < 0) {
   throw new Exception(&#39;databases select error:&#39;
       . mysqli_error($mysqli));
}
$users = mysqli_fetch_all($result, MYSQLI_ASSOC);
// 销毁结果集资源
mysqli_free_result($result);
// 关闭数据库资源
mysqli_close($mysqli);
Copier après la connexion

Ce qui précède est le fonctionnement de base de Mysqli, un résumé de l'apprentissage et du développement personnels réels, bienvenue pour en discuter !

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!

Étiquettes associées:
source:php.cn
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