bonjour

j'ai des pbms de compréhension des fonctions iBase_xx de PHP, notemment le résultat de Query
si quelqu'un voulait m'aider à y voir plus clair ce serait sympa

voila, supposons que je fasse ça :
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
 
<?php
 
// ouverture
  $db = ibase_connect(maBase, mesParams..);
  $Rows = ibase_query($db, $UneRequeteSelect);
  ibase_close($db);
 
// affichage 1
  while ($row = ibase_fetch_row($Rows)) {echo des lignes..}
 
// nouvelle connexion avec mêmes variables
  ibase_free_result($Rows);
  $db = ibase_connect(maBase, mesParams..);
  $Rows = ibase_query($db, $AutreRequeteSelect);
  ibase_close($db);
 
// affichage 2
  while ($row = ibase_fetch_row($Rows)) { echo des lignes..}
en premier lieu la partie "Affichage 1" fonctionne bien, malgré le fait que j'aie fermé la connexion à la base en ligne 3

ça m'étonne car je pensais que le résultat d'un ibase_query (ressource $Rows dans mon cas) devait être liée à la base (que ce n'est pas un objet ou un tableau associatif rempli par l'appel ibase_query)

il n'en est rien semble t-il puisque "Affichage 1" fonctionne après ibase_close, ou est-ce que chaque ibase_fetch_Row($Rows) rétablit la connexion ?


en second lieu ma deuxième connexion ci dessus fonctionne apparemment sans erreur, mais la partie "Affichage 2" pas du tout

le fetch_row renvoie une erreur disant que $Rows n'est pas du type attendu !

je ne comprends vraiment rien à ce ibase_query
il renvoit quoi exactement ?