Výsledky 1 až 4 z 4

Téma: PHP a funkce OCI (Oracle)

  1. #1

    Standardní PHP a funkce OCI (Oracle)

    Ahoj, mám takový problém a nemůžu to nikde vyčíst...
    potřebuji do nějaké proměnné co mám v PHP vrátit výsledek funkce co mám v databázi Oracle (neřešte prosím proč mám oracle - přišel jsme už k hotovému)
    takže mám v oraclu sql funkci, která něco provádí a pak vratí nějakou proměnnou typu number a já bych potřeboval to číslo které vrací ta funkce uložit do nějaké proměnné v PHP abych s ní pak nadále mohl pracovat.
    Pro připojení k oracle db je použito OCI (opět nemůžu použít něco jiného).
    Děkuju za rady

  2. #2

    Standardní Re: PHP a funkce OCI (Oracle)

    Priklad 11:
    Example #11 Binding parameters for a PL/SQL stored procedure<?php

    // Before running the PHP program, create a stored procedure in
    // SQL*Plus or SQL Developer:
    //
    // CREATE OR REPLACE PROCEDURE myproc(p1 IN NUMBER, p2 OUT NUMBER) AS
    // BEGIN
    // p2 := p1 * 2;
    // END;

    $conn = oci_connect('hr', 'welcome', 'localhost/XE');
    if (!
    $conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
    }

    $p1 = 8;

    $stid = oci_parse($conn, 'begin myproc(1, 2); end;');
    oci_bind_by_name($stid, '1', $p1);

    // The second procedure parameter is an OUT bind. The default type
    // will be a string type so binding a length 40 means that at most 40
    // digits will be returned.
    oci_bind_by_name($stid, '2', $p2, 40);

    oci_execute($stid);

    print
    "$p2\n"; // prints 16

    oci_free_statement($stid);
    oci_close($conn);

    ?>

    http://php.net/manual/en/function.oci-bind-by-name.php

    Out Parameter je to hledane klicove slovo
    GigaByte GA-M55plus-S3G --- A64 3200+ @ 24oo ~ 1,375V BOX --- 2x512 Geil 667 CL4 @ 980 CL5 --- WD2500KS --- Acer AL1721ms --- 1/1 MBit/s via WiFi
    Blog

    09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0 aneb jeste ze ty "ochrany" programujou rozumny lidi :]

  3. #3

    Standardní Re: PHP a funkce OCI (Oracle)

    Asi dělám něco blbě, ale hází to chyby...
    mám nějakou funkci moje_funkce(id number, rezervace number)
    declarace
    pocet number
    vykoná se tělo funkce
    pocet := nejaky vypocty
    return pocet;
    end;

    pak mam v php
    $Overeni = "select moje_funkce($id,$rezervace) as pocet from skoleni";
    $stid = oci_parse($conn, $Overeni);
    //pak by měl být ten oci_bind?
    oci_bind_by_name($stid, 'ocet', $pocet, 40); //tady se to kousne
    oci_execute($stid);

  4. #4

    Standardní Re: PHP a funkce OCI (Oracle)

    Tak jsem to nakonec udělal pomocí oci_fetch a cyklusem a funguje to.

Informace o tématu

Users Browsing this Thread

Toto téma si právě prohlíží 1 uživatelů. (0 registrovaných a 1 anonymních)

Podobná témata

  1. Oracle.exe - aby nestartoval po spuštění
    Založil m-art v sekci fóra Programy a problémy s nimi
    Odpovědí: 7
    Poslední příspěvek: 27.01.2007, 05:52
  2. [oracle] problem s FORALL
    Založil steelman v sekci fóra Programování
    Odpovědí: 2
    Poslední příspěvek: 14.10.2006, 11:41
  3. Oracle 9 - jak smazat obrovsky UNDOTBS01.DBF
    Založil howard v sekci fóra Programy a problémy s nimi
    Odpovědí: 3
    Poslední příspěvek: 29.06.2004, 12:03
  4. Kylix 3, dbExpress, nefunguje pripojeni na Oracle
    Založil howard v sekci fóra Programování
    Odpovědí: 0
    Poslední příspěvek: 01.05.2004, 21:19
  5. ORACLE 9i
    Založil Pavel Zbranek v sekci fóra Programování
    Odpovědí: 6
    Poslední příspěvek: 13.01.2004, 21:29

Pravidla přispívání

  • Nemůžete zakládat nová témata
  • Nemůžete zasílat odpovědi
  • Nemůžete přikládat přílohy
  • Nemůžete upravovat své příspěvky
  •