..
Présentation
L'interaction entre PHP et la base de données trouve sa plus haute expression avec MySQL sur les deux systèmes Linux et Windows. PHP sur Windows est capable de travailler avec d'autres bases que MySQL, en exploitant les fonctionnalités et les interfaces requises par différents SGBD. PHP est capable de travailler avec MS Access et MS SQL Server: Dans cet article nous allons voir comment PHP interagit avec Access.
L'interface entre n'importe quel langage de programmation, et Web WUI, avec un SGBD de Microsoft, tels que son accès, ADO (ActiveX Data Objects) connaissent déjà ASP programmeurs, ASP.NET et Visual Basic.
Avant de commencer avec l'explication de ADO et son utilisation via PHP et avant la mise en œuvre des exemples, je me sens obligé de dire que le PHP couplé à un SGBD de Microsoft n'est pas la performance la plus souhaitable et, mais toujours pleinement fonctionnel.
Les connaissances requises pour la compréhension complète de cet article sont:
Structure de la base de test
Pour l'application de certaines pratiques par exemple, nous allons créer le fichier se compose des utilisateurs à table unique accès database.mdb, à son tour composé de champs id (compteur), le nom (texte) et prénom (Texte).
Placez la base de données sur votre serveur Web personnel, Apache ou EasyPHP que, par exemple dans l'essai
C: \ percorso_fisico \ database.mdbpercorso_fisico où est l'adresse physique de votre serveur Web personnel, installé, comme dans cet exemple, la partition C.
La base de données est prête. Continuer.
Introduction à ADO
ADO est une bibliothèque de Microsoft qui permet l'interaction avec les SGBD de Microsoft lui-même ou avec d'autres SGBD tel que MySQL pour son utilisation avec ASP.
ADO offre trois objets de base: connexion, d'enregistrements, et le commandement. Cet article utilise les deux premières servant respectivement pour gérer la connexion et de gérer les données. Le troisième est un sujet spécialisé, mais pas trop bonne même utilisé par les programmeurs de Microsoft à mourir, sauf dans des occasions spéciales.
Les programmeurs ASP Note: Chers collègues, comme moi :-) vous êtes habitué à utiliser le caractère point Pour séparer le nom de la variable qui contient, par exemple la connexion, la méthode ou la propriété d'être utilisé; en PHP, pour (.) la seule interaction avec ADO, il est utilisé comme un séparateur dans le formulaire ->
variable> méthoden'oubliez pas que!
Établir la connexion à la base
Maintenant, créez un répertoire sur notre serveur web de test, par exemple dans le fichier et insérez connessione.php phpaccess contenant le code suivant:
<? PHP
$ Db = "C: \ percorso_fisico \ database.mdb»;
$ Sc = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = $ db;"
?>
La variable $ db contient le chemin physique du fichier et la variable $ sc database.mdb contient la chaîne de connexion OLEDB pour la base de données, ce fichier sera inclus dans tous les fichiers PHP qui va effectuer des opérations sur la base de données en question.
Lecture des données
Pour effectuer la lecture des données, nous créons sur le serveur, dans le dossier test, le leggi.php fichier, ci-dessous le code commenté du fichier:
<html>
<head>
Interaction <title> entre PHP et MS Access </ title>
</ Head>
<body>
<? PHP
/ / Inclure le fichier contenant la chaîne de connexion
include ("connessione.php");
/ / Création de deux objets COM contenant Connection et Recordset
$ Cn = new COM ("ADODB.Connection");
$ Rs = new COM ("ADODB.Recordset");
/ / J'ai ouvert la connexion et le jeu d'enregistrements
$ Cn-> open ($ SC);
$ Rs-> Open ("SELECT * FROM utilisateurs", $ CN);
/ / Vérifier qu'il n'ya pas de données sur la table
if ($ rs-> EOF) print "Aucune donnée trouvée </ p>";
<b> / / Si il ya un cycle de lecture </ b>
d'autre while ($ rs-> EOF == FALSE)
{
print "<p>»;
print "Nom <b>: </ b>".
$ Rs-> Fields ['nom'] -> valeur;
print "<br>»;
print "Nom <b>: </ b>".
$ Rs-> Fields ['nom'] -> valeur;
print "</ p>";
$ Rs-> MoveNext ();
}
/ / Fermer le jeu d'enregistrements
$ Rs-> Close ();
$ Rs-> Release ();
$ Rs = null;
/ / Fermer la connexion
$ Cn-> Close ();
$ Cn-> Release ();
$ Cn = null;
?>
</ Body>
</ Html>
Le fonctionnement est simple: pour passer d'enregistrements de la lecture et des requêtes spécifiques dans la variable dans laquelle la connexion a été ouvert, les propriétés de l'EOF Recordset (End Of File) lit toutes les données en fonction de la requête spécifiée, s'il est réglé sur TRUE signifie qu'il n'y a pas de données dans la base de données, puis lancer le message de notification, si défini à FALSE dans une boucle, lit toutes les données en fonction de la requête spécifiée; MoveNext () termine la boucle et la position du curseur ADO au début du cycle, en évitant une boucle infinie.
La fermeture de l'objet sont les méthodes Close () et Release () qui servent respectivement à fermer et détruire un objet COM. Enfin, vous définissez la variable sur null pour effacer la mémoire de la variable.
L'écriture de données
Le critère par lequel vous écrivez des données à une base de données Access avec PHP est similaire au critère de la lecture des données dans le code suivant, écrit dans le fichier n'utilise pas le scrivi.php Recordset mais s'exécute grâce à SQL INSERT méthode Execute () de la objet Connection », le code commenté:
<html>
<head>
Interaction <title> entre PHP et MS Access </ title>
</ Head>
<body>
<? PHP
/ / Inclure le fichier contenant la chaîne de connexion
include ("connessione.php");
$ Cn = new COM ("ADODB.Connection");
$ Cn-> open ($ SC);
/ / Définit la requête
$ Sql = "INSERT INTO utilisateurs (nom, prénom) VALUES (" Luca "," Roger ")»;
/ / Faire la saisie des données
$ Cn-> Execute ($ sql);
/ / Lancement d'un message de confirmation
print "Insertion <p> complété avec succès </ p>";
/ / Fermer la connexion
$ Cn-> Close ();
$ Cn-> Release ();
$ Cn = null;
?>
</ Body>
</ Html>
| |
Linux (Cours)
Guide complet de système open-source. A partir de 49 €. |
| |
MySQL (Cours)
Gestion des bases de données open-source. A partir de 39 €. |
| |
PHP (cours)
Cours complet pour la création de sites Web dynamiques. A partir de 49 €. |