<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Le contenu de ce document estPHPAffichage de la langue du programme,Le contenu du texte commence après la ligne horizontale</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
--------------------------------------------------
utilisermysqli::</span><span><span class="hljs-variable constant_">select_db</span></span><span>Avant,Devez-vous d'abord vous connecter à la base de données??Processus et précautions
existerPHPmilieu,fonctionnerMySQLL'une des extensions couramment utilisées dans les bases de données estmysqli,Il fournit deux façons de programmation avec des objets et un processus。本文重点探讨existerutilisermysqlideselect_db方法Base de données de commutationAvant,Est-il nécessaire d'établir d'abord une connexion à la base de données,以及fonctionner流程和相关注意事项。
un、mysqli::</span><span><span class="hljs-variable constant_">select_db</span></span><span>Introduction de la méthode
mysqli::</span><span><span class="hljs-variable constant_">select_db</span></span><span>用于切换当前连接所utiliserde数据库。La signature de la méthode est:
```php
</span><span><span class="hljs-keyword">public</span></span><span> </span><span><span class="hljs-keyword">bool</span></span><span> mysqli::</span><span><span class="hljs-title function_ invoke__">select_db</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$dbname</span></span><span>)
</span></span>
Renvoie vrai si l'appel réussit; Sinon, renvoyez false. Il n'est pas responsable de la création de connexions, mais uniquement de la commutation de la base de données utilisée sur le serveur de base de données connecté.
2. Devez-vous d'abord vous connecter à la base de données?
La réponse est: vous devez d'abord établir une connexion MySQL Server .
Les raisons sont les suivantes:
select_db est basé sur les opérations de connexion MySQL existantes. Il n'y a pas de connexion et il est impossible de dire au serveur MySQL quelle base de données à changer.
Lorsque la connexion échoue, select_db ne peut naturellement pas être exécuté et l'appel rapportera une erreur ou renvoie faux.
Un processus d'utilisation typique est le suivant:
<span><span><span class="hljs-variable">$mysqli</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">mysqli</span></span><span>(</span><span><span class="hljs-variable">$host</span></span><span>, </span><span><span class="hljs-variable">$user</span></span><span>, </span><span><span class="hljs-variable">$password</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$mysqli</span></span><span>->connect_error) {
</span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">"Échec de la connexion:"</span></span><span> . </span><span><span class="hljs-variable">$mysqli</span></span><span>->connect_error);
}
</span><span><span class="hljs-comment">// Base de données de commutation</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-variable">$mysqli</span></span><span>-></span><span><span class="hljs-title function_ invoke__">select_db</span></span><span>(</span><span><span class="hljs-string">'target_database'</span></span><span>)) {
</span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">"Échec de la sélection de la base de données:"</span></span><span> . </span><span><span class="hljs-variable">$mysqli</span></span><span>->error);
}
</span></span>
3. Description du processus pour la connexion et le changement de bases de données
Initialiser la connexion <br> Créez un objet MySQLI, passez dans l'hôte, le nom d'utilisateur et le mot de passe (la base de données n'est pas spécifiée pour le moment) et établissez une connexion au serveur MySQL.
Détecter le statut de connexion <br> Vérifiez $ mysqli-> connect_error pour vous assurer que la connexion est réussie.
Base de données de commutation <br> Communiquez la base de données utilisée par la connexion actuelle via $ mysqli-> select_db («Nom de la base de données»).
Effectuer des requêtes et des opérations <br> Après cela, les requêtes SQL peuvent être effectuées sur la base de la base de données sélectionnée.
4. Choses à noter
Spécifiez la base de données lors de la connexion de la base de données VS Switch après connexion <br> Lors de l'établissement d'une connexion, vous pouvez spécifier directement la base de données:
<span><span><span class="hljs-variable">$mysqli</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">mysqli</span></span><span>(</span><span><span class="hljs-variable">$host</span></span><span>, </span><span><span class="hljs-variable">$user</span></span><span>, </span><span><span class="hljs-variable">$password</span></span><span>, </span><span><span class="hljs-string">'Nom de base de données'</span></span><span>);
</span></span>
De cette façon, il n'est pas nécessaire d'appeler Select_DB pour changer la base de données.
Ce n'est que lorsque vous avez besoin de changer dynamiquement différentes bases de données, vous devez vous connecter au serveur, puis appeler SELECT_DB.
Gestion des erreurs <br> Que ce soit la connexion ou le commutateur de bases de données, les messages d'erreur doivent être vérifiés pour éviter toute invite lorsque les erreurs du programme.
Problèmes de connexion persistants
SELECT_DB commut la base de données et ne ferme pas la connexion, mais le SQL exécuté après le commutateur agira dans la nouvelle base de données. Assurez-vous de confirmer que le fonctionnement du commutateur réussit.
Problème d'autorisations <br> L'utilisateur se connectant au serveur MySQL doit avoir accès à la base de données cible, sinon select_db échouera.
Résumer:
Avant d'utiliser MySQLI :: SELECT_DB, une connexion de base de données doit être établie. La méthode select_db ne change que la base de données actuellement connectée et ne peut pas remplacer le processus de connexion. L'utilisation rationnelle des méthodes de base de données de connexion et de commutation permet aux programmes d'exploiter de manière flexible plusieurs bases de données, améliorant la réutilisabilité et l'évolutivité du code.
<span><span><span class="hljs-comment">// Exemple complet</span></span><span>
</span><span><span class="hljs-variable">$mysqli</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">mysqli</span></span><span>(</span><span><span class="hljs-string">'localhost'</span></span><span>, </span><span><span class="hljs-string">'root'</span></span><span>, </span><span><span class="hljs-string">'password'</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$mysqli</span></span><span>->connect_error) {
</span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">"Échec de la connexion: "</span></span><span> . </span><span><span class="hljs-variable">$mysqli</span></span><span>->connect_error);
}
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-variable">$mysqli</span></span><span>-></span><span><span class="hljs-title function_ invoke__">select_db</span></span><span>(</span><span><span class="hljs-string">'my_database'</span></span><span>)) {
</span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">"Échec de la sélection de la base de données: "</span></span><span> . </span><span><span class="hljs-variable">$mysqli</span></span><span>->error);
}
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-variable">$mysqli</span></span><span>-></span><span><span class="hljs-title function_ invoke__">query</span></span><span>(</span><span><span class="hljs-string">"SELECT * FROM users"</span></span><span>);
</span><span><span class="hljs-keyword">while</span></span><span> (</span><span><span class="hljs-variable">$row</span></span><span> = </span><span><span class="hljs-variable">$result</span></span><span>-></span><span><span class="hljs-title function_ invoke__">fetch_assoc</span></span><span>()) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$row</span></span><span>[</span><span><span class="hljs-string">'username'</span></span><span>] . </span><span><span class="hljs-string">"\n"</span></span><span>;
}
</span><span><span class="hljs-variable">$mysqli</span></span><span>-></span><span><span class="hljs-title function_ invoke__">close</span></span><span>();
</span></span>
Ce qui précède est une explication détaillée de "si vous devez vous connecter à la base de données avant d'utiliser mysqli :: select_db", j'espère que cela sera utile à votre fonctionnement de la base de données PHP.
<span></span>
Étiquettes associées:
mysqli