Maison  >  Article  >  développement back-end  >  Opération PHP MySQL

Opération PHP MySQL

不言
不言original
2018-04-26 15:43:2919349parcourir

Cet article présente principalement PHP pour faire fonctionner MySQL, qui a une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent se référer à

Opération PHP MySQL

Tutoriels vidéo MySQL associés. Recommandé : "Tutoriel mysql"

1. Utilisez PHP pour vous connecter à la base de données MySQL

Utilisez la fonction PHP mysqli_connect pour vous connecter à la base de données mysql Syntaxe :
L'objet ressource est renvoyé si la connexion est réussie, false en cas d'échec $conn = mysqli_connect('主机名','用户名','密码','数据库名',端口);
est appelé [identifiant de connexion à la base de données] $conn

header("Content-type:text/html;charset=utf-8");
$conn = @mysqli_connect('localhost','root','root','student') or die("数据库连接错误!");
echo "<pre class="brush:php;toolbar:false">";
var_dump($conn);echo "
"; 2. Utilisez PHP pour accéder à MySQL base de données

Utilisez la fonction PHP mysqli_query vers MySQL La base de données envoie des instructions SQL à la requête, et les résultats renvoyés par la base de données MySQL sont encapsulés dans des objets comme valeur de retour de la fonction.

Syntaxe :
$result = mysqli_query(数据库连接标识,SQL指令);
est appelé [ensemble de résultats] $result

3. Traitement de l'ensemble de résultats

Il existe deux ensembles de résultats, qui sont principalement différents de ceux actuellement exécuté La commande SQL renvoie s'il y a des données.

  1. Il y a des données de retour : select, show, desc

    mysqli_query renverra un type de ressource. Une exécution réussie renvoie un ensemble de résultats, un échec renvoie faux

    Remarque : étant donné que le type de ressource est toujours vrai, il ne peut pas être utilisé pour déterminer s'il existe des données. Il peut uniquement déterminer si la commande est exécutée avec succès .

  2. Aucune donnée renvoyée : insérer, supprimer, mettre à jour, définir, DDL (langage de définition de données, tel que créer, modifier, supprimer)

    mysqli_query renverra une valeur booléenne. Renvoie vrai en cas de succès, faux en cas d'échec

Utilisez mysqli_fetch_assoc pour lire les données de l'ensemble de résultats et renvoie les données lues sous la forme d'un tableau associatif. est le nom du champ, et en même temps, le pointeur du jeu de résultats descend d'une ligne.

Syntaxe :
$row = mysqli_fetch_assoc(结果集);

header("Content-type:text/html;charset=utf-8");
$conn = @mysqli_connect(&#39;localhost&#39;,&#39;root&#39;,&#39;root&#39;,&#39;student&#39;) or die("数据库连接错误!");
$rs = mysqli_query($conn, &#39;set names utf8&#39;);//设置PHP与MySQL交互默认字符集var_dump($rs);
$rs = mysqli_query($conn, &#39;select * from student&#39;);
while ($row = mysqli_fetch_assoc($rs)) {    
echo "<pre class="brush:php;toolbar:false">";
    var_dump($row);    
    echo "
"; }Trois fonctions pour obtenir des données à partir de l'ensemble de résultats :

  1. mysqli_fetch_assoc() Obtient une ligne de données sous forme de [ association] array Renvoie

  2. mysqli_fetch_row() Obtient une ligne de données sous forme de tableau [index] Renvoie

  3. mysqli_fetch_array() Obtient une ligne de data sous forme de tableau [association] et [Index] Array renvoie

Compte le nombre de lignes de données dans l'ensemble de résultats Syntaxe :
mysqli_num_rows(结果集); est généralement utilisé pour déterminer s'il y a des données dans l'ensemble de résultats. S'il est supérieur à 0, cela signifie qu'il y a des données ; s'il est égal à 0, cela signifie qu'il n'y a pas de données.

echo mysqli_num_rows($conn);

Libérez l'ensemble de résultats, libérez l'espace mémoire occupé par l'ensemble de résultatsSyntaxe :
mysqli_free_result(结果集);

mysqli_free_result($rs);
4. connexion à la base de données

Syntaxe :

mysqli_close(数据库连接标识);Si vous n'utilisez pas mysqli_close pour fermer la connexion à la base de données, PHP la fermera automatiquement par défaut une fois l'exécution du code terminée.

mysqli_close($conn);
5. Autres utilisations

Message d'erreur Syntaxe :
mysqli_error(数据库连接标识);Habituellement utilisée pour déboguer et afficher les erreurs

echo mysqli_error($conn);

Récupérer l'ID des données qui viennent d'être insérées Syntaxe :
mysqli_insert_id(数据库连接标识);

6. Encodage des caractères du projet

Caractères MySQL Définir Les données MySQL sont finalement stockées dans des bases de données, des tables et des enregistrements.
Lorsque les données sont effectivement enregistrées, elles sont affectées à plusieurs endroits :

  • L'encodage du champ

  • L'encodage du champ table

  • Encodage de la bibliothèque

  • Encodage intégré du serveur MySQL

Si l'encodage est défini sur le champ, enregistrez les données dans Le codage du champ prévaudra.

Si le champ n'a pas de jeu d'encodage, l'encodage du tableau prévaudra.
Si la table n'a pas de jeu d'encodage, le jeu d'encodage de la bibliothèque prévaudra.
Si la bibliothèque ne définit pas l'encodage, l'encodage intégré du serveur MySQL prévaudra.

Les encodages ci-dessus sont déterminés par le serveur. Il vous suffit de définir l'encodage de la base de données, de la table et des champs.

L'encodage des données affichées sur le client Quatre endroits affectent l'affichage du client

  1. L'encodage des données stockées sur le serveur

Les trois suivants sont liés au client

  1. Encodage des données envoyées par le client au serveur

    Variables du serveur (éléments de configuration ):
    character_set_client

  2. Encodage utilisé par la couche de connexion entre client et serveur

    Variables du serveur (éléments de configuration) :
    character_set_connection

  3. Encodage des données des résultats de traitement envoyés du serveur au client

    Variables du serveur (éléments de configuration) :
    character_set_results

可以使用 show variables like 'char%'; 在MySQL命令行模式下查看相关变量。
可使用 set指令单独设置,如:set character_set_results=utf8;

set names 是一个快捷操作,同时设置了以上三个服务器变量(配置项),当使用set names utf8;时,相当于

set character_set_client=utf8;
set character_set_connection=utf8;
set character_set_results=utf8;

项目中确保字符编码五个地方统一

  1. MySQL数据库服务器保存数据的编码

  2. 设置php与MySQL交互层编码 mysqli_query($conn, 'set names utf8');

  3. PHP与浏览器之间交互的编码 header("Content-type:text/html;charset=utf-8");

  4. HTML meta 标签声明使用编码 0d94b2dad07259293dd606022eaa23d8

  5. PHP文件保存的编码(在编辑器中设置)

更多mysql相关知识请关注php中文网mysql视频教程频道

相关推荐:

PHP操作JSON方法大全

PHP操作MongoDB实现增删改查功能

【mysql视频教程】2019年最火的5个mysql视频教程推荐

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
Article précédent:Débogage Xdebug pour phpArticle suivant:Débogage Xdebug pour php