Aujourd'hui, nous allons parler de la différence et de l'utilisation de mysql et mysqliBase de données de connexion En fait, mysql a été abandonné dans PHP5.6 et supérieur. , mais de nombreux étudiants l'utilisent encore. Aujourd'hui, nous allons parler de la différence entre la connexion mysql et mysqli.
1. Concepts liés à mysql et mysqli :
1. Mysql et mysqli sont tous deux des ensembles de fonctions en PHP, et Le. La base de données mysql n'est pas très pertinente.
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 :
1. -fonction de connexion persistante. Chaque fois que MySQL est connecté, il ouvrira un processus connecté.
2. Mysqli est une fonction de connexion permanente. Exécuter mysqli plusieurs fois utilisera le même processus de connexion, réduisant ainsi la surcharge du 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 processus) :
$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 (SQL). instruction) ,'resourceid') L'identifiant de la ressource est facultatif et la valeur par défaut est la dernière connexion ou ressource ouverte.
2. mysqli (mode objet) :
$conn = new mysqli('localhost', 'user', 'password','data_base'); //要使用new操作符,最后一个参数是直接指定数据库 //假如构造时候不指定,那下一句需要$conn -> select_db('data_base')实现 $result = $conn -> query( 'select * from data_base' ); //执行sql语句 $row = $result -> fetch_row(); //取一行数据 echo = row[0]; //输出第一个字段的值
L'utilisation de new mysqli('localhost', usenamer', 'password', 'databasename'); invite :
Erreur fatale : la classe 'mysqli' est introuvable dans ...
Habituellement, mysqli n'est pas activé car la classe mysqli n'est pas activée par défaut Sous win, vous devez modifier php. .ini et supprimez php_mysqli Avant .dll;, mysqli doit y être compilé sous Linux.
4. mysql_connect() et mysqli_connect()
1 En utilisant mysqli, vous pouvez transmettre le nom de la base de données en paramètre. La fonction mysqli_connect() peut également être transmise au constructeur mysqli ;
2. Si la méthode mysqli_query() ou mysqli object query query() est appelée, l'identifiant de connexion est requis.
Ce qui précède concerne les différences et l'utilisation de mysql et mysqli avant de se connecter à la base de données. J'espère que cela sera utile aux étudiants !
Recommandations associées :
php implémente la classe d'opération mysql (mode MySQL et MySQLi)
Classe de base de données de connexion PHP basée sur la fonction MySQLI
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!