Programmation PHP/Bases de données
Soit la base de données BDDNAME contenant la table NOMTABLE. Voici la table :
-
- ID : id
- NOM : chaine de caractères
- PRENOM : chaine de caractères
- ADRESSE1 : chaine de caractères
- ADRESSE2 : chaine de caractères
- TEL1 : entier long
- TEL2 : entier long
- ID : id
Cette base de données contient les deux enregistrements suivants :
| 0 | "DUPOND" | "LOUIS" | "1,Petite rue" | "2,Petite rue" | 0543454654 | 0543454352 |
| 1 | "DUSS" | "Jean-Claude" | "1,Grande rue" | "2, Grande rue" | null | null |
Sections |
MySQL [modifier]
Constantes utilisées par la suite :
- Nom de la BDD : "BDDNAME"
- Adresse de la BDD : "BDDADRESSE"
- Login d'accès à la BDD : "BDDUSER"
- Mot de passe pour accéder à la BDD : "BDDPASS"
<?
$user="root";
$pass="";
$db="divers";
$table="demande_intervention";
$link=mysql_connect("localhost",$user,$pass);
if (!$link)
die("Impossible de se connecter à mysql");
mysql_select_db($db,$link)
or die ("Impossible d'ouvrir $db :".mysql_error());
$query="insert into $table values($znom,$ztel,$znomach,zlieu,zdate)";
mysql_query($query,$link)
or die("Impossible d'ajouter des nouvelles données".mysql_error());
mysql_close($link);
?>
Exécution d'une requête sur une base de données MySQL [modifier]
Maintenant que nous sommes connectés à notre base de données, il est possible d'executer des requêtes dessus. En voici un exemple
mysql_fetch_assoc)
$requete = "SELECT * FROM NOMTABLE";
$res = mysql_query($requete);
//On obtient alors tous les enregistrements présents dans la table nom table, et pour exploiter les enregistrements, on peut boucler de la manière suivante :
while ($enregistrement = mysql_fetch_assoc ($res) ) {
$nom = $enregistrement['NOM'];
$prenom = $enregistrement['PRENOM'];
$adresse1 = $enregistrement['ADRESSE1'];
$adresse2= $enregistrement['ADRESSE2'];
$tel1 = $enregistrement['TEL1'];
$tel2 = $enregistrement['TEL2'];
}
De cette manière on récupère un tableau associatif sous la forme Clé->Valeur pour chacun des enregistrements retournés par la requête.
Il existe d'autres méthodes ...
-
mysql_num_rows (): retourne le nombre de lignes données par la requete;mysql_fetch_row (): identique à mysql_fetch_assoc mais retourne un tableau simple indice->valeur.mysql_fetch_object (): identique à mysql_fetch_assoc mais retourne un objet.
Exemple :
mysql_fetch_object)
$requete = "SELECT * FROM NOMTABLE";
$res = mysql_query($requete);
while ($enregistrement = mysql_fetch_object ($res) ) {
$nom = $enregistrement->NOM;
$prenom = $enregistrement->PRENOM;
$adresse1 = $enregistrement->ADRESSE1;
$adresse2= $enregistrement->ADRESSE2;
$tel1 = $enregistrement->TEL1;
$tel2 = $enregistrement->TEL2;
Fermeture d'une connexion à la base de données MySQL [modifier]
//Ferme la connexion MySQL
mysql_close ($ressource);
SQLite [modifier]
SQLite est le moteur de base de données intégré à php5.
Se connecter à une base de données SQLite [modifier]
// On se connecte à la base<br /> // CHEMIN_BDD constitue de chemin physique de la base de données<br /> $db = new SQLiteDatabase(CHEMIN_BDD);
Exécution d'une requête sur une base de données SQLite [modifier]
Maintenant que nous sommes connectés à notre base de données, il est possible d'executer des requêtes dessus. En voici un exemple
$requete = "SELECT * FROM NOMTABLE"; $res = $db->arrayQuery ($requete, SQLITE_ASSOC);
On obtient alors tous les enregistrements présents dans la table nom table, et pour exploiter les enregistrements, on peut boucler de la manière suivante :
foreach($res as $enregistrement) { $nom = $enregistrement['NOM']; $prenom = $enregistrement['PRENOM']; $adresse1 = $enregistrement['ADRESSE1']; $adresse2= $enregistrement['ADRESSE2']; $tel1 = $enregistrement['TEL1']; $tel2 = $enregistrement['TEL2']; }
De cette manière on récupère un tableau associatif sous la forme Clé->Valeur pour chacun des enregistrements retournés par la requête. C'est la constante SQLITE_ASSOC qui permet cela. La constante SQLITE_NUM permet de retourner un tableau indexé numériquement.
Il existe d'autres méthodes ...
-
numRows (): retourne le nombre de lignes données par la requête.
