He seguido (creo que al pie de la letra) el tuto de Bases de Datos con Flash y AMFPHP de Maikel y cuando la pelicula, me da el siguiente error:
Fuck un error, por:mysql_connect() [<a href='function.mysql-connect'>function.mysql-connect</a>]: Unknown MySQL server host 'http' (11001)
Además cuando lo pruebo en localhost no funciona
En el directorio raiz es localhost/chemaremoto y dentro de éste y colocado la carpeta remoting
que a su vez contiene la carpeta services y ésta contiene el archivo misquerys.php cuyo código está más abajo.
Reconozco que estoy totalmente perdido.
Espero que me podais echar un cable.
Gracias. Un saludo
Os cuelgo el código:
código flash:
Código :
import mx.remoting.NetServices; import mx.remoting.Connection; mx.remoting.debug.NetDebug.initialize(); //Pon la URL de tu gateway aqui NetServices.setDefaultGatewayUrl("http://localhost/chemaremoto/remoting/gateway.php"); conexion = NetServices.createGatewayConnection(); capturaRespuesta = new Object(); servicio = conexion.getService("misquerys",capturaRespuesta); capturaRespuesta.onStatus = function (data){ trace("Fuck un error, por:" +data.description); } //el resto del código es igual al del ejemplo
y el código PHP:
Código :
<?php class misquerys{ //<--nombre de la clase igual al nombre del archivo function misquerys (){ //<-- constructor de la clase, nombre igual al de la clase $this->methodTable = array( //<--definimos lo metodos que tendra nuestra clase "insertar" => array ( //<-- Metodo insertar "description" => "inserta un registro", //<--Comentario del metodo, describimos que hace dicho metodo "access" => "remote", //<-- tipo de acceso del metodo, posibles valores public, remote y private "arguments" => array("nombre","comentarios") //<-- Parametros del metodo ), "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") ) ); } //IMPLEMENTACION DE LOS METODOS// //Parametros $nombre y $comentarios los que vamos a insertar en los respectivos // //campos de la Base de Datos, el id se genera automaticamente// function insertar($nombre,$comentarios){ $nombre = utf8_encode($nombre); //<-- utf8_encode para que php entienda el escape() de flash $comentarios = utf8_encode($comentarios);//<-- igual //creamos la cadena de nuestra sentencia(query) SQL $sql= "INSERT INTO prueba (id,nombre,comentarios) VALUES ('','".$nombre."','".$comentarios."')"; return $this->query($sql,1);//retornamos el id de nuestro registro insertado } //Parametro $id, para saber que registro vamos a eliminar de la Base de Datos function eliminar ($id){ //creamos la cadena de nuestra sentencia(query) SQL $sql= "DELETE FROM prueba WHERE id='".$id."' LIMIT 1"; return $this->query($sql,0); //retornamos 1 si se elimino correctamente y 0 en caso contrario } //Parametros $id, $nombre y $comentarios, el $id para saber que registro vamos a modificar // $nombre y $comentarios para hacer la respectiva modificación de nuestro registro function modificar ($id,$nombre,$comentarios){ $nombre = utf8_encode($nombre); //<-- utf8_encode para que php entienda el escape() de flash $comentarios = utf8_encode($comentarios); //creamos la cadena de nuestra sentencia(query) SQL $sql = "UPDATE `prueba` SET `nombre` = '".$nombre."', `comentarios` = '".$comentarios."' WHERE `id` = ".$id." LIMIT 1;"; return $this->query($sql,0); //retornamos 1 si se modifico correctamente y 0 en caso contrario } //Parametros ninguno function consulta (){ //creamos la cadena de nuestra sentencia(query) SQL $sql = "SELECT * FROM prueba ORDER BY id "; return $this->query($sql,0); //retornamos el recordset de la consulta } //Parametros sql que contendra la sentencia SQL que se ejecutara //y accion en tal caso de que sea un INSERT haremos una excepcion //y retornaremos el nuevo id del registro recien insertado function query ($sql, $accion){ $conex= mysql_connect("http://localhost","miusuario","mipass") or die("no se puede conectar porque ".mysql_error()); mysql_select_db("misdatos"); $result= mysql_query($sql,$conex); if ($accion && result){ //Excepcion del INSERT, comparamos result por si la inserción fue correcta :P $result= mysql_insert_id(); } mysql_close($conex); return $result; //Consultar retonara un recordSet //Modificar y Eliminar 1 si fue correcto o 0 en caso contrario //Insertar retornara el id recien creado } } ?>