1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
| function execute($query)
{
// Il suffit de mettre en commentaire error_reporting pour faire du
// débogage - voir quand il n'y a aucun résultat "NO DATA FOUND" par exemple.
error_reporting(0);
if (($this->verif != "nok") && ($this->verif != "ok"))
{
$this->verif = "nok";
}
else
{
if ($this->cursor = ora_do($this->connection, $query))
{
$this->numCols = ora_numcols($this->cursor);
// On met la première ligne dans un tableau
$row = array();
for ($i=0; $i<$this->numCols; $i++)
{
// On parcours toutes les colonnes
$row[ora_columnname($this->cursor, $i)] = ora_getcolumn($this->cursor, $i);
}
$this->nbresults++;
// On ajoute la ligne $row au tableau results
array_push($this->results, $row);
// Avec le fetch, on met une à une, les lignes résultantes de la requete
//dans le tableau $row qui sera ensuite mis dans le tableau $results.
while(ora_fetch($this->cursor))
{
// On parcours toutes les lignes
$row=array();
for ($i=0; $i<$this->numCols; $i++)
{
// Pour chaque colonne de chaque ligne
$row[ora_columnname($this->cursor, $i)] = ora_getcolumn($this->cursor, $i);
}
array_push($this->results, $row);
$this->nbresults++;
}
$this->verif1 = "ok";
}
else { $this->verif1 = "nok"; }
}
// Le fameux error_reporting. Mettre en commentaire pour voir les NO_DATA_FOUND.
error_reporting(1);
return $this->verif1;
}
//RECUPERATION DE LA VALEUR CONTENUE DANS LE CHAMP $champ
function nbresults()
{
return $this->nbresults;
}
//RECUPERATION DE LA VALEUR CONTENUE DANS LE CHAMP $champ
function recup($a, $champ)
{
return $this->results[$a][$champ];
} |
Partager