rick@r coin coin coin | Salut,
J'ai un petit probleme avec la fonction ociBindByName.
Voici mon code :
Code :
- <?php
- require ("fonctions.inc" );
- if (! empty ($HTTP_POST_VARS)) {
- //traitement du formulaire
- $identifiant = $HTTP_POST_VARS["Nom_enseignant"];
- if ($identifiant == "" ) {
- echo "L'identifiant est obligatoire !\n <BR>";
- }
- else {
- // requete d'identification.
- $requete = "SELECT I.Role, P.Nom, P.Prenom1
- FROM Intervenant I, Personne P
- WHERE P.Nom = :p1
- AND P.Num_ss = I.Num_ss ";
- $erreur = array ("code" => 0,"message" => "" );
- //Connexion a la base.
- $ok = ($connexion = ociLogon("yann","yann","mabase" ));
- //requete de reconnaissance de l'enseignant.
- if ($ok) {//connexion ok
- //analyse de la requete.
- $ok = ($curseur = ociParse ($connexion, $requete));
- }
- if ($ok) {
- // association entre le parametre et la variable PHP.
- $ok = ociBindByName ($curseur, ":p1", $identifiant, 40);
- }
- //execution de la requete.
- if ($ok) {
- $ok = ociExecute ($curseur);
- }
- //fetch.
- if ($ok) {
- $nombre = ociFetchInto ($curseur,$ligne, OCI_ASSOC);
- }
- if (! $ok) { //erreur quelque part.
- // Si connexionOK, recuperer l'erreur du curseur
- // sinon recuperer l'erreur de la connexion
- $erreur = $connexion?ociError($curseur):ociError();
- }
- //if (! ($ligne = db_executer_requete ($requete, $erreur, $identifiant))) {
- //echo "$erreur[code] - $erreur[message] <BR>";
- //}
- //else {
- echo "$ligne[ROLE] - $ligne[NOM] - $ligne[PRENOM1] <BR>";
- //}
- }
- }
- ?>
|
Je récupère par l'intermédiaire d'un formulaire le Nom_Enseignant et je le stocke dans ma variable $identifiant.
J'ai lié 1 à identifiant mais quand j'exécute la requete je n'ai aucun tuple resultat.
Quand j'exécute la requete directement avec le Nom_enseignant a la place du parametre je recois bien le resultat.
Une idée ? |