Maison > Article > base de données > À propos de la différence entre mysql et mysqli
La connexion MySQLi est une connexion permanente, tandis que MySQL est une connexion non permanente.
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.
Bien sûr, si mysql a également besoin d'une connexion permanente, vous pouvez utiliser la fonction mysql_pconnect()
L'utilisation orientée processus de mysqli :
$conn = mysqli_connect(‘localhost’, ‘root’, ’123′, ‘db_test’) or (‘error’); $sql = “select * from db_table”; $query = mysqli_query($conn,$sql); while($row = mysqli_fetch_array($query)){ echo $row['title']; }
L'objet -utilisation orientée de mysqli Utilisation :
$conn = mysqli(‘localhost’, ‘root’, ’123′, ‘db_test’); $sql = “select * from db_table”; $query = $conn->query($sql); while($row = $query->fetch_array()){ echo $row['title']; }
mysql_connect avec mysql_pconnect avec mysqli_connect :
La connexion ouverte par mysql_pconnect ne sera pas fermée ( même si mysql_close est appelé) Fermé, car il n'est pas valide),
est similaire au pool de tampons de connexion s'il existe une connexion à la même base de données à partir du même nom d'utilisateur
sur le. la prochaine fois, PHP utilisera automatiquement la dernière connexion établie sans avoir à en rétablir une.
Avantages : Cela évite la surcharge liée à l'établissement d'une connexion avec la base de données à chaque fois.
Inconvénients : Cela nécessite de gaspiller de la mémoire et d'occuper certaines connexions.
Donc si le. visites des utilisateurs Lorsqu'il est volumineux, des erreurs se produiront. Vous devez modifier le paramètre max_connections de mysql avec une valeur plus grande ou utiliser mysql_connect() pour résoudre le problème.
Pour faire simple, MySQL_pconnect est utilisé pour établir une connexion continue entre PHP et MySQL
Généralement, le mode d'exécution de PHP consiste à initialiser toutes les ressources lorsque le script commence à s'exécuter et à les libérer. toutes les ressources une fois le script terminé. Ressources.
La méthode MySQL_pconnect n'est pas comme ça. MySQL_connect rétablit une relation avec le serveur SQL via TCP et autres
à chaque fois. beaucoup de ressources du serveur.
Lors de l'utilisation de pconnect, lorsqu'il y a une demande de connexion à MySQL, php vérifiera si la même connexion (connectée au même serveur MySQL avec le même nom d'utilisateur et le même mot de passe) a été établie. avant,
Si c'est le cas, utilisez cette connexion directement. Il convient de noter que le concept de la même connexion s'applique au processus
Différents processus se connectant à MySQL_pconnect établiront plusieurs connexions.
Connect et pconnect n'entraîneront pas de différences fonctionnelles, seulement des différences de performances.
Généralement, PHP a deux modes de fonctionnement, l'un consiste à s'exécuter en tant que CGI et l'autre à s'exécuter en tant qu'Apache. module.
Lorsqu'il est utilisé comme cgi, connect n'est pas différent de pconnect, car à chaque fois que cgi est exécuté, les ressources seront détruites et nettoyées
Lorsque php est exécuté en tant que module. module apache, vous pouvez utiliser la connexion continue à la base de données, mais il peut y avoir des problèmes potentiels,
Voir le manuel php si vous utilisez la méthode d'installation cgi. La connexion ne prendra jamais effet.
Le plus gros inconvénient des connexions longues est que si un utilisateur est verrouillé, le processus en cours sera définitivement verrouillé.
Si votre paramètre dans Apache est que le processus ne sera jamais détruit, alors...
Je l'ai dit et j'ai tellement enregistré,
C'est-à-dire, essayez d'utiliser mysql_connect, car il s'interrompra automatiquement une fois l'opération terminée, ce qui est conforme au style de programmation.
Vous pouvez également utiliser mysql_connect et mysql_pconnect ensemble, tout comme un pool de tampons de liens,
En d'autres termes, créez une classe mysql_connect et mysql_pconnect .
Bien sûr, si la compatibilité ascendante n'est pas prise en compte, il est préférable d'utiliser mysqli_connect, car mysqli lui-même est une connexion permanente.
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!