Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    240

    [amfphp-1.0.1 + pdo + oracle] flash non legge il recorset

    [amfphp-1.0.1 + pdo + oracle] flash non legge il recorset

    Ho un'applicazione php che si connette ad un database oracle tramite pdo
    Ho installato amfphp v.1.0.1

    Non riesco a far restituire a flash il recorset da php

    la connessione la fa con successo, e anche la funzione getTest... ma come alla funzione php faccio restituire il recorset non fuziona più niente
    Il codice è

    PHP:
    ****************************
    php code:

    include_once ("db_layer.php"); // class pdo connection

    class SelectorService extends db_layer{

    function SelectorService() {
    $this->methodTable = array(
    "getTest" => array(
    "description" => "Returns a Test",
    "access" => "remote",
    "arguments" => array ("arg1","arg2")
    ),
    "getCombo1" => array(
    "description" => "Returns Combo 1",
    "access" => "remote",
    "arguments" => array ("visualizzaParam")
    )
    );

    //open connection
    $this->isConn(); // include in db_layer

    }

    function getTest($testValue1,$testValue2)
    {return " TEST " . $testValue1 . " " . $testValue2;}


    function getCombo1($visualizzaParam)
    {

    $querySql = strtoupper("SELECT distinct(r1.oggetto_uno),r1.id_key_uno from keyword k, repository_uno r1 where r1.id_key_uno=k.id_key_uno and k.id_visualizza = '".$visualizzaParam."' order by r1.oggetto_uno");
    $ris = $this->eseguiQuery($querySql);
    //return $querySql ;
    return $ris;
    }

    }


    ******************************
    class db_layer {

    ...................

    function isConn()
    {

    //setto le variabili
    $this ->setPrefixAndPath();
    $this -> setVarConn ();
    if ($this->connessione=="" || $this->connessione==false)
    {
    //echo "CONNESSIONE CHIUSA
    ";
    //setto le variabili
    $this ->setPrefixAndPath();
    $this -> setVarConn ();
    //apro la conn
    $this ->apriConn();
    //seleziono il database
    // $this ->scelta_db();
    }
    }




    //funzione che effettua la connessione
    function apriConn()
    {
    try {
    $this->connessione = new PDO("oci://dbname={$this->dbhost}:1521/{$this->dbname};charset=UTF-8", $this->dbuser,$this->dbpass);
    }
    catch (PDOException $e)
    {echo "Errore : " . $e-> getCode() . " ". $e->getMessage();}

    }

    //Funzione che chiude la connessione
    function chiudoConn()
    {
    if ($this->connessione!="" || $this->connessione!=false)
    {$this->connessione=null;}
    }



    function eseguiQuery($query)
    {
    $ris = $this->connessione->query($query);
    return $ris;
    }

    .................
    }

    ****************************

    flash code:

    _root.gatewayUrl = "http://localhost/Stinet/selectordev/gateway.php";

    _root.getVisualizzaReply = new Object();
    _root.getCombo1 = new Object();


    getVisualizzaReply.onResult = function(result)
    {trace ("son qui " + result);}

    getCombo1.onResult = function(result)
    {
    trace ("son qui " );
    // trace("server responded for Combo 1: Records: " + result.getLength());
    }

    getCombo1.onStatus = function ( data ) {

    trace("an error occurred")
    trace("in line: " + data.line)
    trace("error level: " + data.level)
    trace("description: " + data.description);
    }


    if (isGatewayOpen == null)
    {
    isGatewayOpen = true;
    NetServices.setDefaultGatewayUrl(_root.gatewayUrl) ;
    gatewayConnnection = NetServices.createGatewayConnection();
    selectorService = gatewayConnnection.getService("SelectorService");

    trace("getTest");
    selectorService.getTest(getVisualizzaReply,"test", "test");

    trace ("getComb01");
    selectorService.getCombo1(getVisualizzaReply, "01");

    }



    AIUTOOOOOOOO!!!!!

    prima l'applicazione girarava perfettamente su amfphp v.0.9 e utilizzava una connessione mysql ... ora ho dovuto migrare su oracle e di conseguenza ho implementato il pdo ... ma flash mi ha messo in crisi

  2. #2
    il pannello di debug cosa ti dice ?

    solitamente il component addetto al logging delle operazioni da indicazioni abbastanza dettagliate ... al limite aggiungi un controllo fittizio lato server, tipo salva il risultato serializzato dlla query prima di farlo tornare a flash ... se questa operazione non avviene, i problemi sono solo lato server e non sul flash.

    In ultimo, remoting è asincrono, se connetti e chiami immediatamente senza sapere se la connessione è effettivamente attiva, difficilmente riuscirai ad utilizzarla, a prescindere dalla versione di PHP, del database usato o di Flash.
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    240

    credo che il problema sia flash

    Lato php faccio un piccolo debug scrivendo un file txt

    il cui risultato è il seguente

    11/04/2006 - 12:33:41: Apro la connessione
    11/04/2006 - 12:33:41: CONNESSIONE ORACLE EFFETTUATA
    11/04/2006 - 12:33:41: GET TEST --> funzione getTest
    11/04/2006 - 12:33:41: Apro la connessione
    11/04/2006 - 12:33:41: CONNESSIONE ORACLE EFFETTUATA
    11/04/2006 - 12:33:41: SELECT DISTINCT(R1.OGGETTO_UNO),R1.ID_KEY_UNO FROM KEYWORD K, REPOSITORY_UNO R1 WHERE R1.ID_KEY_UNO=K.ID_KEY_UNO AND K.ID_VISUALIZZA = '01' ORDER BY R1.OGGETTO_UNO --> query funzione getCombo1
    11/04/2006 - 12:33:41: Object id #33 --> recorset

    mentre la maschera di output di flash mi da solo

    getTest
    getComb01

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.