Estoy utilizando AMFPHP1.2.5 y Un aBase de datos ORACLE 9i… Bueno navegando encontré este tutorial de cómo conectarme a Una BD MySQL: http://www.cristalab.com/tutoriales/117/bases-de-datos-con-flash-y-amfphp
Tome la clase: “misquerys” y modifique las conexiones a la BD con el siguiente código:
<?php
class misquerysOracle{
function misquerysOracle(){
$this->methodTable = array(
"insertar" => array(
"description" => "inserta un registro",
"access" => "remote",
"arguments" => array("nombre","comentarios")
),
"eliminar" => array (
"description" => "elimina un registro",
"access" => "remote",
"arguments" => array("id")
),
"modificar" => array (
"description" => "modifica un registro",
"access" => "remote",
"arguments" => array("id")
),
"consulta" => array (
"description" => "consulta n campos",
"access" => "remote"
),
"query" => array (
"description" => "ejecuta un query en MySQL",
"access" => "private",
"arguments" => array ("sql","accion")
)
);
}
function insertar($nombre,$comentarios){
$nombre = utf8_encode($nombre);
$comentarios = utf8_encode($comentarios);
$sql="INSERT INTO prueba (id, nombre, comentarios)VALUES (prueba_sec.nextval,'".$nombre."','".$comentarios."')";
return $this->query($sql,1);
}
function eliminar ($id){
$sql= "DELETE FROM prueba WHERE id='".$id."'";
return $this->query($sql,0);
}
function modificar ($id,$nombre,$comentarios){
$nombre = utf8_encode($nombre);
$comentarios = utf8_encode($comentarios);
$sql = "UPDATE prueba SET nombre = '".$nombre."', comentarios = '".$comentarios."' WHERE id = '$id'";
return $this->query($sql,0);
}
function consulta (){
$sql = "SELECT * FROM prueba ORDER BY id ";
return $this->query($sql,0);
}
function query ($sql, $accion){
$cone= @oci_connect("smoran", "sergiod", "ogeid");
$result= OCIParse($cone,$sql);
OCIExecute($result, OCI_DEFAULT);
if ($accion && result){
OCIFetch($result);
}
OCILogOff($cone);
return $result;
}
}
?>
class misquerysOracle{
function misquerysOracle(){
$this->methodTable = array(
"insertar" => array(
"description" => "inserta un registro",
"access" => "remote",
"arguments" => array("nombre","comentarios")
),
"eliminar" => array (
"description" => "elimina un registro",
"access" => "remote",
"arguments" => array("id")
),
"modificar" => array (
"description" => "modifica un registro",
"access" => "remote",
"arguments" => array("id")
),
"consulta" => array (
"description" => "consulta n campos",
"access" => "remote"
),
"query" => array (
"description" => "ejecuta un query en MySQL",
"access" => "private",
"arguments" => array ("sql","accion")
)
);
}
function insertar($nombre,$comentarios){
$nombre = utf8_encode($nombre);
$comentarios = utf8_encode($comentarios);
$sql="INSERT INTO prueba (id, nombre, comentarios)VALUES (prueba_sec.nextval,'".$nombre."','".$comentarios."')";
return $this->query($sql,1);
}
function eliminar ($id){
$sql= "DELETE FROM prueba WHERE id='".$id."'";
return $this->query($sql,0);
}
function modificar ($id,$nombre,$comentarios){
$nombre = utf8_encode($nombre);
$comentarios = utf8_encode($comentarios);
$sql = "UPDATE prueba SET nombre = '".$nombre."', comentarios = '".$comentarios."' WHERE id = '$id'";
return $this->query($sql,0);
}
function consulta (){
$sql = "SELECT * FROM prueba ORDER BY id ";
return $this->query($sql,0);
}
function query ($sql, $accion){
$cone= @oci_connect("smoran", "sergiod", "ogeid");
$result= OCIParse($cone,$sql);
OCIExecute($result, OCI_DEFAULT);
if ($accion && result){
OCIFetch($result);
}
OCILogOff($cone);
return $result;
}
}
?>
Ahora.. la conexión y consulta a la BD la realiza, pero la inserción, modificación y eliminación de data no alguien se a conectado a Oracle con AMF PHP?
Tengo varias dudas, como: Se necesita copiar alguna librería especial para Oracle?, las conexiones OCI que utilizo están mal hechas?
este es mi mayor problema:
function query ($sql, $accion){
$cone= @oci_connect("usuario", "pass", "BaseDeDatos");
$result= OCIParse($cone,$sql);
OCIExecute($result, OCI_DEFAULT);
if ($accion && result){
OCIFetch($result);
}
OCILogOff($cone);
return $result;
}
$cone= @oci_connect("usuario", "pass", "BaseDeDatos");
$result= OCIParse($cone,$sql);
OCIExecute($result, OCI_DEFAULT);
if ($accion && result){
OCIFetch($result);
}
OCILogOff($cone);
return $result;
}
Auxilioooooo…
[/code]