- 95% des demandes d'aide de nos clients sont traités en moins de 2 heures !
- Nous sommes toujours en pleine innovation !
- Nous améliorons sans cesse la qualité de nos services !
Le lien vers cette page sera inséré automatiquement dans l'email.
Il ne vous reste qu'à remplir les champs ci-dessous.
Comment est-ce que je me connecte à ma base de données MySQL via CGI ? Vous pouvez aussi vous connecter à votre base de données via Perl et le module DBI Perl. Voici un exemple commenté:
#!/usr/local/bin/perl
use DBI;
# Connexion à la base de données
# * L'interface DBI à MySQL utilise la méthode "connect" pour effectuer une
# * connexion à la base de données. Elle prend comme premier argument
# * le texte: "DBI:mysql:database:hostname", ou database correspond
# * au nom de la base de données, et hostname au serveur où il est
# * logé. Les seconds et troisièmes arguments, respectivement, devraient
# * être vote nom d'usager et mot de passe. La connexion est assignée.
# * à une variable qui est utilisée par la plupart des méthodes dans le module.
$database = "nom de base de données";
$username = "nom d'usager de la base de données";
$password = "mot de passe de la base de données";
$hostname = "nom d'hote de la base de données";
$db = DBI->connect("DBI:mysql:$database:$hostname", $username, $password);
# Éxécuter une requête
# * l'éxécution d'une requête est faite en 2 étapes. Premièrement,
# * la requête est préparée en utilisant la méthode "prepare".
# * ceci requiert l'utilisation de la variable utilisée pour
# * initier la connexion. Deuxièmement la méthode 'execute'
# * est appelée, ainsi qu'exposé ci-dessous.
$query = $db->prepare("SELECT * FROM test");
$query->execute;
# Combien de lignes au résultat?
# * la méthode des résultats utilisant le nom de variable
# * sous laquelle la requête fut éxécutée retourne le nombre
# * de lignes dans le résultat.
$numrows = $query->rows;
# Afficher les résultats
# * la méthode fetchrow_array éxécutée sur la
# * requête retourne la première ligne sous forme de rangée.
# * les requêtes subséquentes retournent les autres lignes en
# * séquence. Elle retourne zéro lorsque toutes les lignes ont été
# * retournées.
while (@array = $query->fetchrow_array) { ($field1, $field2, $field3) = @array; print "field1 = $field1, field2 = $field2, field3 = $field3 \n"; }
# Nettoyage
# * avec le module DBI, il est important de nettoyer en
# * finissant toutes les requêtes explicitement avec la methode "finish",
# * et les connexions avec la méthode "disconnect".
$query->finish;
$db->disconnect;
exit(0);
Le module DBI vous offre d'autres méthodes qui pourront vous être utiles. Plus d'informations sont disponibles en éxécutant "perldoc DBI" lorsque connecté à votre compte via telnet ou SSH.