Le langage PHP dispose de nombreuses fonctions permettant de travailler sur des bases de données Oracle version 7 et 8.
La configuration de PHP pour Oracle est longuement expliquée sur le site PHPBuilder.com ou sur tldp.org.
| Fonction | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Description | ||||||||||
| true | false = Ora_Bind($id_curseur, $variable_php, $parametre_sql, $longueur [, $type]); |
||||||||||
| réalise une liaison entre une variable PHP et un paramètre Oracle. | ||||||||||
| true | false = Ora_Close($id_curseur); | ||||||||||
| ferme un pointeur Oracle. | ||||||||||
| $nom = Ora_ColumnName($id_curseur, $position_champ); | ||||||||||
| retourne le nom du champ du résultat. | ||||||||||
| $taille = Ora_ColumnSize($id_curseur, $position_champ); | ||||||||||
| retourne la taille du champ d'un résultat. | ||||||||||
| $type = Ora_ColumnType($id_curseur, $position_champ); | ||||||||||
| retourne le type du champ d'un résultat. | ||||||||||
| true | false = Ora_Commit($id_connexion); | ||||||||||
| valide une transaction Oracle. | ||||||||||
| true | false = Ora_CommitOff($id_connexion); | ||||||||||
| désactive la validation automatique. | ||||||||||
| true | false = Ora_CommitOn($id_connexion); | ||||||||||
| active la validation automatique. | ||||||||||
| true | false = Ora_Do($id_connexion, $requete); | ||||||||||
| prépare, exécute une requête et lit le premier enregistrement du résultat. | ||||||||||
| $message = Ora_Error($id_connexion); | ||||||||||
| Retourne le message d'erreur Oracle. | ||||||||||
| $code_erreur = Ora_ErrorCode($id_connexion); | ||||||||||
| Retourne le code d'erreur Oracle. | ||||||||||
| true | false = Ora_Exec($id_curseur); | ||||||||||
| exécute une requête analysée sur un pointeur Oracle. | ||||||||||
| true | false = Ora_Fetch($id_curseur); | ||||||||||
| retourne un enregistrement d'un résultat. | ||||||||||
| true | false = Ora_Fetch_Into($id_curseur, $tab_resultat [, $semaphore]); | ||||||||||
| retourne un enregistrement dans le tableau de résultat. | ||||||||||
| $valeur = Ora_GetColumn($id_curseur, $champ); | ||||||||||
| retourne la valeur d'un champ désigné par son nom ou sa position. | ||||||||||
| true | false = Ora_Logoff($id_connexion); | ||||||||||
| ferme une connexion Oracle. | ||||||||||
| $id_connexion = Ora_Logon($utilisateur, $mot_passe); | ||||||||||
| ouvre une connexion Oracle. | ||||||||||
| $id_connexion = Ora_pLogon($utilisateur, $mot_passe); | ||||||||||
| ouvre une connexion persistante à Oracle. | ||||||||||
| $nb_champs = Ora_Numcols($id_curseur); | ||||||||||
| retourne le nombre de champs. | ||||||||||
| $nb_enregistrements = Ora_Numrows($id_curseur); | ||||||||||
| retourne le nombre d'enregistrements. | ||||||||||
| $id_curseur = Ora_Open($id_connexion); | ||||||||||
| ouvre un pointeur Oracle. | ||||||||||
| true | false = Ora_Parse($id_curseur, $requete, $nb_report); | ||||||||||
| analyse une requête SQL. | ||||||||||
| true | false = Ora_Rollback($id_connexion); | ||||||||||
| annule une transaction. | ||||||||||
| Fonctions Oracle 8 | ||||||||||
| $nombre = ociDefineByName($id_resultat, $nom_champ, $variable [, $type]); | ||||||||||
| utilise une variable PHP pour la phase de définition, dans une commande SELECT. | ||||||||||
| $nombre = ociBindByName($id_resultat, $nom_oracle, $variable_php, $longueur [, $type]); |
||||||||||
| utilise une variable PHP pour la phase de définition dans un SELECT. | ||||||||||
| $id_connexion | false = ociLogon($utilisateur, $mot_passe [, $nom_base]); | ||||||||||
| ouvre une connexion à un serveur Oracle. | ||||||||||
| $id_connexion | false = ociPLogon($utilisateur, $mot_passe [, $nom_base]); | ||||||||||
| ouvre une connecxion persistante à un serveur Oracle. | ||||||||||
| $id_connexion | false = ociNLogon($utilisateur, $mot_passe [, $nom_base]); | ||||||||||
| ouvre une nouvelle connexion à un serveur Oracle. | ||||||||||
| true | false = ociLogOff($id_connexion); | ||||||||||
| ferme une connexion à un serveur Oracle. | ||||||||||
| = ociexecute($id_resultat [oci_COMMIT_ON_SUCCESS | oci_DEFAULT]); | ||||||||||
| exécute une requête SQL préparée par ociparse. | ||||||||||
| true | false = ociCommit($id_connexion); | ||||||||||
| valide les transactions en cours. | ||||||||||
| true | false = ociRollback($id_connexion); | ||||||||||
| annule les transactions en cours. | ||||||||||
| $id_descripteur = ociNewDescriptor($id_connexion [, oci_D_FILE | oci_D_LOB | oci_D_ROWID]); |
||||||||||
| initialise un nouveau pointeur vide de LOB/FILE. | ||||||||||
| $nb_enregistrements = ociRowCount($id_resultat); | ||||||||||
| retourne le nombre d'enregistrements dans un résultat. | ||||||||||
| $nb_champs = ociNumCols($id_resultat); | ||||||||||
| retourne le nombre de champs dans un résultat. | ||||||||||
| $valeur = ociResult($id_resultat, $champ); | ||||||||||
| retourne la valeur d'un champ désigné par son nom ou sa position dans la ligne courante d'un résultat. | ||||||||||
| $position = ociFetch($id_resultat); | ||||||||||
| place le prochain enregistrement dans le pointeur de résultat. | ||||||||||
| true | false = ociFetchInto($id_resultat, $tab_resultat, $mode); | ||||||||||
retourne la ligne suivante dans un tableau.
|
||||||||||
| true | false = ociFetchStatement($id_resultat, $tab_variables); | ||||||||||
| retourne toutes les lignes d'un résultat dans le tableau de variables. | ||||||||||
| true | false = ociColumnIsNULL($id_resultat, $champ); | ||||||||||
| vérifie si la valeur d'un champ est égale à NULL. | ||||||||||
| $nom = ociColumnName($id_resultat, $position_champ); | ||||||||||
| retourne le nom d'un champ. | ||||||||||
| $taille = ociColumnSize($id_resultat, $champ); | ||||||||||
| retourne la taille d'un champ. | ||||||||||
| $type = ociColumnType($id_resultat, $champ); | ||||||||||
| retourne le type de données d'un champ. | ||||||||||
| $version = ociServerVersion($id_connexion); | ||||||||||
| retourne une chaîne de caractères contenant le numéro de version du serveur. | ||||||||||
| $chaine = ociStatementType($id_resultat); | ||||||||||
| retourne le type de commande SQL (select, UPDATE, INSERT, etc.). | ||||||||||
| $id_curseur = ociNewCursor($id_connexion); | ||||||||||
| retourne un nouveau pointeur à utiliser pour lier les pointeurs de références. | ||||||||||
| true | false = ociFreeStatement($id_resultat); | ||||||||||
| libère toutes les ressources occupées par une commande. | ||||||||||
| true | false = ociFreeCursor($id_curseur); | ||||||||||
| libère toutes les ressources occupées par un pointeur. | ||||||||||
| true | false = ociFreeDesc($id_descripteur); | ||||||||||
| supprime un descripteur de LOB. | ||||||||||
| true | false = ociparse($id_connexion, $requete); | ||||||||||
| analyse une requête SQL. | ||||||||||
| $tableau | false = ociError($identificateur); | ||||||||||
| retourne la dernière erreur d'une connexion, d'un résultat ou globale. | ||||||||||
| ociinternaldebug(0 | 1); | ||||||||||
| active ou désactive l'affichage des données de deboguage. | ||||||||||
| true | false = OCICancel($id_resultat); | ||||||||||
| détruit les ressources liées au dernier résultat. | ||||||||||
| true | false = ocisetprefetch($id_resultat, $nb_enregistrements); | ||||||||||
| indique le nombre d'enregistrements devant être pré-lues. | ||||||||||
| OCIWriteLobToFile($obj_lob [, $fichier [, $nb_depart [, $longueur]]]); | ||||||||||
| écrit un objet LOB dans un fichier. | ||||||||||
| $chaine = OCISaveLobFile($obj_lob); | ||||||||||
| retourne un objet LOB dans une chaîne de caractères. | ||||||||||
| $chaine = OCISaveLob($obj_lob); | ||||||||||
| retourne un objet LOB dans une chaîne de caractères. | ||||||||||
| $chaine = OCILoadLob($obj_lob); | ||||||||||
| charge un objet LOB. | ||||||||||
| $echelle = OCIColumnScale($id_resultat, $num_champ); | ||||||||||
| retourne l'échelle d'un champ numérique. | ||||||||||
| $precision = OCIColumnPrecision($id_resultat, $num_champ); | ||||||||||
| retourne la précision d'un champ numérique. | ||||||||||
| $valeur = OCIColumnTypeRaw($id_resultat, $num_champ); | ||||||||||
| retourne le type brut d'un champ. | ||||||||||
| $chaine = OCINewCollection($id_connexion, $tdo, $schema); | ||||||||||
| crée une nouvelle collection. | ||||||||||
| $chaine = OCIFreeCollection($obj_lob); | ||||||||||
| libère une collection. | ||||||||||
| $chaine = OCICollAssign($obj_collection, $objet); | ||||||||||
| assigne un objet à une collection. | ||||||||||
| $valeur = OCICollAssignElem($obj_collection, $ndx, $valeur); | ||||||||||
| assigne un élément à une collection. | ||||||||||
| $chaine = OCICollGetElem($obj_collection, $ndx); | ||||||||||
| retourne la valeur d'un élément d'une collection. | ||||||||||
| $chaine = OCICollMax($obj_collection); | ||||||||||
| retourne la longueur maximum de la collection. | ||||||||||
| $chaine = OCICollSize($obj_collection); | ||||||||||
| retourne la taille de la collection. | ||||||||||
| $chaine = OCICollTrim($obj_collection, $nombre); | ||||||||||
| enlève les espaces de début et de fin de la collection. |
<?php
$id_connexion = ociLogon("utilisateur" , "motpasse" "bd_personnel")
or die("<h3>Une erreur est survenue :</h3>"
. ociError($id_connexion) . "</b>");
$preparation = ociParse($id_connexion, "select * from employee")
$id_resultat = ociExecute($preparation, oci_DEFAULT);
echo '<table border="1"><tr>';
for($i = 0; $i < ociNumCols($id_resultat); $i++)
{
echo '<th>' . ociColumnName($id_resultat, $i)
. '<br>' . ociColumType($id_resultat, $i) . '('
. ociColumnSize($id_resultat, $i) . ')</th>';
}
echo '</tr>';
for($i = 0; $i < ociRowsCount($id_resultat); $i++)
{
echo '<tr>';
for($j = 0; $j < ociNumCols($id_resultat); $j++))
{
echo '<td>' . ociResult($id_resultat, $i, $j) . '</td>';
}
echo '</tr>';
}
echo '</table>';
ociCancel($id_resultat);
ociLogoff($id_connexion);
?> |