Maison >développement back-end >Problème PHP >Quelle est la différence entre mysql et mysqli en php

Quelle est la différence entre mysql et mysqli en php

青灯夜游
青灯夜游original
2021-06-04 18:26:473201parcourir

Différence : mysqli est une fonction de connexion permanente, tandis que mysql est une fonction de connexion non persistante. Mysql ouvrira un processus de connexion à chaque fois qu'il sera connecté ; mysqli utilise toujours le même processus de connexion, ce qui peut réduire considérablement la pression côté serveur.

Quelle est la différence entre mysql et mysqli en php

L'environnement d'exploitation de ce tutoriel : système windows7, version PHP7.1&&mysql8, ordinateur DELL G3

1. mysql et concepts associés de mysqli :

1. Mysql et mysqli sont tous deux des ensembles de fonctions en PHP et ont peu de connexion avec la base de données mysql.

2. Avant la version php5, la fonction mysql de PHP était généralement utilisée pour piloter la base de données mysql, comme la fonction mysql_query(), qui est orientée processus 3. Après la version php5, la fonction mysqli a. a été ajouté. Dans un sens, il s'agit d'une version améliorée de la fonction système mysql, qui est plus stable, efficace et sécurisée. Correspondant à mysql_query() est mysqli_query(), qui est orienté objet et utilise des objets pour faire fonctionner et piloter le. Base de données mysql

2. La différence entre mysql et mysqli :

mysqli est une fonction de connexion permanente, tandis que mysql est une connexion non persistante. fonction.

Connexion mysql : Un nouveau processus sera rouvert à chaque fois qu'il sera utilisé pour la deuxième fois.

Connexion mysqli : utilisez toujours le même processus.

Avantages : Cela peut réduire considérablement la pression côté serveur.

Mysqli encapsule certaines opérations avancées telles que les transactions, et encapsule également de nombreuses méthodes disponibles dans le processus d'exploitation de la base de données.

3. Utilisation de mysql et mysqli :

1 : mysql (mode procédural) :

$conn = mysql_connect('localhost', 'user', 'password'); //连接mysql数据库  mysql_select_db('data_base'); 
 //选择数据库  
 $result = mysql_query('select * from data_base');//第二个可选参数,指定打开的连接  
 $row = mysql_fetch_row( $result ) ) //只取一行数据  
 echo $row[0]; //输出第一个字段的值  

PS : mysqli fonctionne de manière procédurale. Certaines fonctions doivent spécifier des ressources, comme mysqli_query (identifiant de ressource, instruction SQL), et le paramètre de l'identifiant de ressource est placé devant, tandis que mysql_query (instruction SQL, 'identifiant de ressource) ' ) est facultatif et la valeur par défaut est la dernière connexion ou ressource ouverte.

2. mysqli (mode objet) : Oui, car la classe mysqli n'est pas activée par défaut, vous devez modifier le php.ini sous win et supprimer le ";" php_mysqli.dll et compilez-y mysqli sous Linux.

new mysqli('localhost', usenamer', 'password', 'databasename');

4. mysql_connect() et mysqli_connect()

1 En utilisant mysqli, vous pouvez transmettre le nom de la base de données en tant que paramètre à mysqli_connect(. ), peut également être transmis au constructeur de mysqli ; 2. Si la méthode mysqli_query() ou mysqli object query query() est appelée, l'identifiant de connexion est requis.

Apprentissage recommandé : "

Tutoriel vidéo PHP

"

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