Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/02/2009, 18:06
ferpitol
 
Fecha de Ingreso: febrero-2009
Mensajes: 2
Antigüedad: 15 años, 3 meses
Puntos: 0
problemas con oci_bind_by_name

tengo este pequeño problema necesito saber cual es el valor insertado en un query, lo que tengo es lo siguiente

el query es $mySQL = " insert into SIRCAV.tcpersona(idtcpersona
, nombre
, paterno
, materno
, rfc
, idtcclienteimportado)
values (nvl((select max(idtcpersona) from SIRCAV.tcpersona),0) + 1
,'" . $this->nombre . " '
,'". $this->paterno ."'
,'" . $this->materno . "'
,'" . $this->rfc . "'
," . $this->idtcclienteimportado. "
) returning idtcpersona into :rid"

si este query lo corro en un procedimiento de oracle jala pero al intentar ejecutarlo en php mediante a funcion oci_bind_by_name no me recupera el valor y es lo que necesito hacer

mi codigo de php es el siguiente:

this->ini_conn();//una funcion que yo cree que inializa la coneccion
$result=oci_parse($this->conn, $mySQL); //PREPARA UNA SENTENCIA DE EJECUCION


oci_bind_by_name($result, ':rid', $salida,-1);//Une a la variable :rid de oracle con la variable salida de php


$ok = oci_execute($result); //EXECUTA UNA SENTENCIA, EL SEGUNDO PARAMETRO ES POR DEFAULT
echo "probando a salida :-- " . $salida . "--------";
if (!$ok){
$bFalse++;
$error = oci_error($this->conn);
echo 'conn: '.$this->conn.'<br>ERROR: '.$this->error['message'].'<br>';
echo '<font color="#FF0000" face="Verdana, Arial, Helvetica, sans-serif" size="-2">'.$mySQL.'<br></font>';
echo $mySQL.'<br>';
return false;
}
oci_commit($this->conn);
//$row=oci_fetch_array($result, OCI_BOTH + OCI_RETURN_NULLS);
oci_free_statement($result);
$this->fin_conn();
return $salida; //Se supione me deberia regresar el valor insertado en idtcpersona



supuestamente todo esta bien solamente que $salida no recupera ningun valor no se que estoy haciendo mal con el oci_bind_by_name pero si les agradeceria me pudieran ayudar ya que me urgue
estoy usando oracle 10g y php5