IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Connexion aux bases de données Firebird Discussion :

Firebird, PHP et "ibase_param_info"


Sujet :

Connexion aux bases de données Firebird

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mars 2005
    Messages : 64
    Points : 90
    Points
    90
    Par défaut Firebird, PHP et "ibase_param_info"
    Bonjour,

    J'utilise PHP sur une base de données Firebird (AMFPHP pour ceux qui connaissent). Afin de récupérer la liste des paramètres d'une requête paramétrée, j'utilise le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $res=array();
    	$requete="select champ1, champ2 from table1 where param1 = ? and param2 = ? ;";
    	$db = ibase_connect(_hote, _utilisateur, _passe);
     
    	$rs = ibase_prepare($db, $requete);
    	$params = ibase_num_params($rs);
        for ($i=0 ; $i < $params ; $i++) 
    		{
            $col_info = ibase_param_info($rs, $i);
    		$res[]=$col_info;
            }      
    	return $res;
    	ibase_close($db);
    Ce code marche très bien, pas d'erreur, mais ne me ramène que le type et la longueur des paramètres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    (Array)#0
      [0] (Array)#1
        [0] ""
        [1] ""
        [2] ""
        [3] "3"
        [4] "VARCHAR"
        [alias] ""
        [name] ""
        [relation] ""
        [type] "VARCHAR"
      [1] (Array)#2
        [0] ""
        [1] ""
        [2] ""
        [3] "20"
        [4] "VARCHAR"
        [alias] ""
        [name] ""
        [relation] ""
        [type] "VARCHAR"
    Ma question : y a t-il une astuce pour récupérer également le "name" voire un "alias"?

    Merci

    Arfany

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Les paramètres de ta requête ne sont pas nommés (?), donc il me parait logique que tu n'aies pas cette information.

    Essaye avec cette requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select champ1, champ2 from table1 where param1 = :param1 and param2 = :param2;
    @+ Claudius

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mars 2005
    Messages : 64
    Points : 90
    Points
    90
    Par défaut
    Bonjour Cl@udius,

    Je ne sais pas passer de paramètres nommés en PHP. La syntaxe que tu indique marche très bien en Delphi, pas en PHP du moins, je n'ai pas réussi à la faire marcher.

    Arfany

  4. #4
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Citation Envoyé par arfany Voir le message
    Je ne sais pas passer de paramètres nommés en PHP.
    Ne connaissant pas PHP, le mieux serait que tu poses la question sur le forum adhoc. Cela doit surement être possible.

    Désolé de ne pouvoir t'en dire plus.

    @+ Claudius

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mars 2005
    Messages : 64
    Points : 90
    Points
    90
    Par défaut
    Merci Cl@udius,

    J'ai suivi ton conseil et poster ma question sur un forum PHP. Comme il n'y a pas de forum PHP & Firebird, je l'ai mise dans PHP & MySql ...
    Apparemment, il n'y a pas grand monde à utiliser PHP sur Firebird en France, pourtant, ça marche très bien. Je l'utilise sur LAMP et WAMP depuis plus de deux ans et ça paraît stable.

    Arfany

  6. #6
    Membre expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 712
    Points
    3 712
    Par défaut
    Citation Envoyé par arfany Voir le message
    Je l'utilise sur LAMP et WAMP depuis plus de deux ans et ça paraît stable.
    tu veux dire LAFP et WAFP

    ceci dit, il y a une liste (internationale et donc en anglais) sur php et Firebird
    Philippe Makowski
    IBPhoenix - Firebird
    Membre de l'April

  7. #7
    Membre expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 712
    Points
    3 712
    Par défaut
    j'ajoute un truc, les paramêtres n'étant pas nommés et ne pouvant l'être, je ne vois pas comment name ou alias pouraient être différent de " "
    Philippe Makowski
    IBPhoenix - Firebird
    Membre de l'April

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mars 2005
    Messages : 64
    Points : 90
    Points
    90
    Par défaut
    Bonsoir Philippe,

    Pour être encore plus précis, sur ce pb actuel c'est du WIFP (Windows Iis Firebird Php)

    les paramêtres n'étant pas nommés et ne pouvant l'être, je ne vois pas comment name ou alias pouraient être différent de " "
    Comment il fait pour ramener le bon type et la bonne longueur du champ à gauche de la relation dans ce cas ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    (Array)#0
      [0] (Array)#1
        [0] ""
        [1] ""
        [2] ""
        [3] "3"
        [4] "VARCHAR"
        [alias] ""
        [name] ""
        [relation] ""
        [type] "VARCHAR"
    Dans ce tableau, l'item 3 ramène bien la longueur et les items 4 et "type" le type de la donnée !

    Je pensais que le "prepare" ramenait ces données

    Arfany

  9. #9
    Membre expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 712
    Points
    3 712
    Par défaut
    oui, le prepare ramène les données qu'il connait
    pas celles qu'il ne connait pas car inexistantes
    Philippe Makowski
    IBPhoenix - Firebird
    Membre de l'April

Discussions similaires

  1. [PHP-JS] Problème de Quote
    Par Cyrilh7 dans le forum Langage
    Réponses: 19
    Dernier message: 08/08/2006, 16h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo