[PHP/Oracle] Extra veld dat niet in de database is opgenomen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Al een tijdje zitten zoeken maar behalve de PHP-manual is er maar weinig info over deze combinatie te vinden. Ik heb een vraag waarvan het antwoord wsl. vrij simpel zal zijn maar ik weet het niet. Stel ik heb de volgende code (uit de manual):

<?php
// suppose your stored procedure info.output returns a ref cursor in :data

$conn = oci_connect("scott", "tiger");
$curs = oci_new_cursor($conn);
$stmt = oci_parse($conn, "begin info.output(:data); end;");

oci_bind_by_name($stmt, "data", $curs, -1, OCI_B_CURSOR);
oci_execute($stmt);
oci_execute($curs);

while ($data = oci_fetch_row($curs)) {
var_dump($data);
}

oci_free_statement($stmt);
oci_free_statement($curs);
oci_close($conn);
?>

En naast :data uit de cursor wil ik een extra veld teruggeven met daarin een foutcode. Dus naast de cursor nog een tweede outputveld dat niet in een databasetabel is opgenomen maar via een Oracle stored procedure wordt afgeleid en teruggegeven. Hoe doe ik dat dan met ocibindbyname en als ik zelf al oci_fetch_array met oci_assoc gebruik, kan dat dan nog steeds en hoe dan? Of kan ik dat veld alleen in de array aanroepen via een/de numerieke waarde.

PHP met Oracle werkt overigens prima maar het is leuk uitzoekwerk als je ook maar iets van de PHP-manual wilt afwijken lijkt het.

Acties:
  • 0 Henk 'm!

Verwijderd

Niet direct een antwoord op je vraag, maar misschien een handige verwijzing naar wat extra info: Er is ook over de combinatie php - oracle behoorlijk wat te vinden op technet.oracle.com

Acties:
  • 0 Henk 'm!

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Die :data komt al uit een out parameter van de stored procedure.
Daar kun je op precies dezelfde manier nog een out parameter aan toevoegen.
De fetch doe je op de teruggegeven ref cursor, maar dat is niet relevant voor je andere out parameter.

Who is John Galt?