Le langage PHP dispose de nombreuses fonctions permettant de travailler sur des bases de données ODBC (Open DataBase Connectivity).
Une compilation de PHP avec un support iODBC disponible sur iODBC.org, UnixODBC ou encore sur OpenLink, permet d'utiliser cette librairie de fonction avec de nombreux gestionnaires de bases de données compatibles ODBC.
Fonction | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
Description | ||||||||||
true | false = odbc_autocommit($id_connexion [, 0 | 1]); | ||||||||||
active (1) ou désactive (0) le mode d'auto-validation. | ||||||||||
= odbc_binmode($id_resultat, $mode); | ||||||||||
modifie la gestion des colonnes de données binaires selon un mode donné.
|
||||||||||
odbc_close($id_connexion); | ||||||||||
ferme une connexion ODBC. | ||||||||||
odbc_close_all(); | ||||||||||
ferme toutes les connexions ODBC. | ||||||||||
true | false = odbc_commit($id_connexion); | ||||||||||
valide une transaction ODBC. | ||||||||||
$id_connexion = odbc_connect($DSN, $utilisateur, $mot_passe [, $type_curseur]); |
||||||||||
ouvre une connexion à une source de données.
|
||||||||||
$chaine = odbc_cursor($id_resultat); | ||||||||||
retourne le pointeur de la fiche courante (cursorname). | ||||||||||
$chaine = odbc_do($id_connexion, $requete); | ||||||||||
Synonyme de odbc_exec(). | ||||||||||
$code_erreur = odbc_error([$id_connexion]); | ||||||||||
retourne le code de l'erreur. | ||||||||||
$message = odbc_errormsg([$id_connexion]); | ||||||||||
retourne le message de l'erreur. | ||||||||||
$id_resultat | false = odbc_exec($id_connexion, $requete); | ||||||||||
prépare et exécute une requête SQL puis retourne un identifiant de résultat. | ||||||||||
true | false = odbc_execute($id_connexion [, $tab_parametres]); | ||||||||||
exécute une requête SQL préparée par odbc_prepare. | ||||||||||
$nb_champs | false = odbc_fetch_into($id_resultat [, $num_enregistrement, $tab_resultats]); |
||||||||||
retourne le nombre de champs de l'enregistrement spécifié et place ses valeurs dans le tableau de résultats. | ||||||||||
true | false = odbc_fetch_row($id_resultat [, $num_enregistrement]); | ||||||||||
lit un enregistrement spécifié. | ||||||||||
$nom | false = odbc_field_name($id_resultat, $position_champ); | ||||||||||
retourne le nom du champ désigné. | ||||||||||
$num_champs | false = odbc_field_num($id_resultat, $nom_champ); | ||||||||||
retourne le numéro du champ. | ||||||||||
$type | false = odbc_field_type($id_resultat, $position_champ); | ||||||||||
retourne le type de données d'un champ. | ||||||||||
$longueur | false = odbc_field_len($id_resultat, $position_champ); $longueur | false = odbc_field_precision($id_resultat, $position_champ); |
||||||||||
retourne la longueur d'un champ. | ||||||||||
$echelle = odbc_field_scale($id_resultat, $position_champ); | ||||||||||
retourne l'échelle d'un champ. | ||||||||||
true = odbc_free_result($id_resultat); | ||||||||||
libère les ressources utilisées par un résultat. | ||||||||||
$nombre = odbc_longreadlen($id_resultat [, $nb_octets]); | ||||||||||
détermine le nombre d'octets pour des champs de type LONG et LONGVARBINARY. | ||||||||||
$nb_champs = odbc_num_fields($id_resultat); | ||||||||||
retourne le nombre de champs dans un résultat. | ||||||||||
$id_connexion = odbc_pconnect($DSN, $utilisateur, $mot_passe [, $type_curseur]); |
||||||||||
ouvre une connexion persistante à une source de données. | ||||||||||
$id_preparation = odbc_prepare($id_connexion, $requete); | ||||||||||
prépare une requête pour une exécution par odbc_execute. | ||||||||||
$nb_enregistrements = odbc_num_rows($id_resultat); | ||||||||||
retourne le nombre d'enregistrements dans un résultat. | ||||||||||
$valeur = odbc_result($id_resultat, $champ); | ||||||||||
retourne la valeur d'un champ désigné par son nom ou sa position. | ||||||||||
$nb_enregistrements | false = odbc_result_all($id_resultat [, $format]); | ||||||||||
affiche le résultat sous la forme d'une table HTML et retourne le nombre d'enregistrements. L'argument $format est une chaîne de caractères définissant le format d'affichage des valeurs. | ||||||||||
true | false = odbc_rollback($id_connexion); | ||||||||||
annule une transaction. | ||||||||||
$nombre = odbc_setoption($identifiant, $num_fonction, $num_option, $num_param); |
||||||||||
modifie les paramètres ODBC de la connexion ou d'un résultat de requête. | ||||||||||
$id_resultat = odbc_tables(id_connexion [, $qualificateur [, $proprietaire [, $nom [, $types]]]]); |
||||||||||
liste les tables d'une source selon différents paramètres. | ||||||||||
$id_resultat = odbc_tableprivileges($id_connexion [, $qualificateur [, $proprietaire [, $nom]]]); |
||||||||||
liste les tables et leurs privilèges selon différents paramètres. | ||||||||||
$id_resultat = odbc_columns($id_connexion [, $qualificateur [, $proprietaire [, $nom_table [, $nom_colonne]]]]); |
||||||||||
liste les colonnes d'une table selon différents paramètres. | ||||||||||
$id_resultat = odbc_columnprivileges($id_connexion [, $qualificateur [, $proprietaire [, $nom_table [, $nom_colonne]]]]); |
||||||||||
liste les colonnes et leurs droits associés selon différents paramètres. | ||||||||||
$id_resultat = odbc_gettypeinfo($id_connexion [, $type_donnee]); | ||||||||||
liste les types de données supportés par une source selon différents paramètres. | ||||||||||
$id_resultat = odbc_primarykeys($id_connexion, $qualificateur, $proprietaire, $nom_table); |
||||||||||
liste les colonnes utilisées dans une clé primaire selon différents paramètres. | ||||||||||
$id_resultat = odbc_foreignkeys($id_connexion, $pk_qualificateur, $pk_proprietaire, $pk_nom_table, $fk_qualificateur, $fk_proprietaire, $fk_nom_table); |
||||||||||
liste les clés étrangères (fk) selon différents paramètres. | ||||||||||
$id_resultat = odbc_procedures($id_connexion [, $qualificateur [, $proprietaire [, $nom]]]); |
||||||||||
liste les procédure stockées selon différents paramètres. | ||||||||||
$id_resultat = odbc_procedurecolumns($id_connexion [, $qualificateur [, $proprietaire [, $nom_procedure [, $nom_colonne]]]]); |
||||||||||
liste les paramètres des procédures selon différents paramètres. | ||||||||||
$id_resultat = odbc_specialcolumns(id_connexion, $qualificateur, $proprietaire, $nom_table, $num_etendue, $num_annulable); |
||||||||||
retourne l'ensemble optimal de champs permettant de définir uniquement un enregistrement dans une table. | ||||||||||
$id_resultat = odbc_statistics($id_connexion, $qualificateur, $proprietaire, $nom_table, $num_unique, $num_exactitude); |
||||||||||
calcule des statistiques sur une table. |
<?php // Fichier : commun.inc function gestion_erreur($identifiant) { echo "Une erreur est survenue :<br>" . odbc_error() . " : " . odbc_errormsg(); odbc_close($identifiant); exit; } function affichage_base($identifiant) { $resultat = odbc_exec($identifiant, "select * from tbl_personnel"); if (!$resultat) gestion_erreur($resultat); $nb_enregistrements = 0; $nb_champs = odbc_num_fields($resultat); echo '<table border="1"><tr>'; for($i = 1; $i <= $nb_champs; $i++) { echo '<th>' . odbc_field_name($identifiant, $i) . '</th>'; } echo '</tr><tr>'; while(odbc_fetch_row($resultat)) { for($i = 1; $i < $nb_champs; $i++) { echo '<td>' . odbc_result($resultat, $i) . '</td>'; } $nb_enregistrements++; } echo '</tr><tr>' . '<td colspan="' . $nb_champs . '">' . $nb_enregistrements . ' enregistrements</td>' . '</tr></table>'; } ?> <?php // Fichier : traitement.php include ("commun.inc"); function ajout_entree($tab_valeurs) { $i = 0; $nb = sizeof($tab_valeurs); $requete_sql = "Insert Into tbl_personnel ("; while($cle = array_shift(array_keys($tab_valeurs))) { $fin = $i < $nb - 1 ? ", " : ") "; $requete_sql .= $cle . $fin; $i++; } $requete_sql = "Values ('"; foreach($i = 0; $i < $tab_valeurs; $i++) { $fin = $i < $nb - 1 ? "', " : "')"; $requete_sql .= "'" . $tab_valeur[$i] . $fin; } $resultat = odbc_exec($id_connexion, $requete_sql ); if (!$resultat) gestion_erreur($resultat); return "<h3La mise à jour de la base de données a été réussie !</h3>"; } $id_connexion = odbc_connect("serveur", 'utilisateur', 'mpoatsse'); if (!$id_connexion) gestion_erreur($id_connexion); $informations = array("nom"=>$nom, "prenom"=>$prenom, "email"=>$email); echo ajout_entree($informations); affichage_base($id_connexion); odbc_close($id_connexion); ?> <!-- Fichier : formulaire.php --> <?php include ("commun.inc"); ?> <html> <body> <h2>Enregistrements de la base de données<h2> <?php $id_connexion = odbc_connect("serveur", 'utilisateur', 'mpoatsse'); if (!$id_connexion) gestion_erreur($id_connexion); affichage_base(); odbc_close($id_connexion); ?> <h3>Ajout d'un enregistrement<h3> <form action="traitement.php" method="POST"> <table border="0"> <tr> <td>Nom</td> <td><input type="text" name="nom"></td> </tr> <tr> <td>Prénom</td> <td><input type="text" name="prenom"></td> </tr> <tr> <td>eMail</td> <td><input type="text" name="email"></td> </tr> <tr> <td></td> <td><input type="submit" name="soumettre" value="Soumettre"></td> </tr> </table> </form> </body> </html> |