Comunidad de diseño web y desarrollo en internet online

problemas con AMFPHP

Citar            
MensajeEscrito el 21 Feb 2006 02:40 am
Buenas

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 
         }
    }
?>

Por perillan

100 de clabLevel



Genero:Masculino  

La Mancha profunda....

msie
Citar            
MensajeEscrito el 21 Feb 2006 05:47 am
en esta linea

Código :

$conex= mysql_connect("http://localhost","miusuario","mipass") or die("no se puede conectar porque ".mysql_error());


cambiala por esta :

Código :

$conex= mysql_connect("localhost","miusuario","mipass") or die("no se puede conectar porque ".mysql_error());


es la parte donde dice "http://localhost" debe ser nada mas "localhost"

saludos!

Por tangamampilia

.GAIA Developer

961 de clabLevel


6 articulos

Genero:Masculino   Anime Bloggers

México, D.F.

safari
Citar            
MensajeEscrito el 21 Feb 2006 08:27 am
Gracias Tangamampilia, ahora estoy en el curro, lo probaré más tarde a ver si hay suerte

Un saludo

Por perillan

100 de clabLevel



Genero:Masculino  

La Mancha profunda....

msie
Citar            
MensajeEscrito el 21 Feb 2006 05:09 pm
Hola de nuevo Tangamampilia

Creo que tenias razon pero el error que me da ahora es:
Fuck un error, por:mysql_connect() [<a href='function.mysql-connect'>function.mysql-connect</a>]: Access denied for user 'mysql'@'localhost' (using password: YES)

Creo que el error está en el nombre del ususario de Mysql (user:mysql). Pero creo que ese el el nombre del usuario correcto.

Un Saludo

Por perillan

100 de clabLevel



Genero:Masculino  

La Mancha profunda....

msie
Citar            
MensajeEscrito el 21 Feb 2006 05:32 pm
en tu archivo misquerys.php (ubicado en /services de tu directorio AMFPHP) tienes que ponerle algun nombre de usuario y password de tu base de datos MySQL

Código :

 $conex= mysql_connect("localhost", "root", "password") or die("no se puede conectar porque ".mysql_error());


aqui son usuarios y passwords de MySQL, no de alguna base de datos que tu hayas creado, osea de la tabla user de tu base de datos mysql

Por H3r3j3

290 de clabLevel

1 tutorial

Genero:Masculino  

Desarrollador Multimedia

firefox
Citar            
MensajeEscrito el 21 Feb 2006 06:28 pm
umm...si tiene la configuracion de por default del mysql, el usuario es "root" y el password esta vacio...o sea :

Código :

$conex= mysql_connect("localhost", "root", "") or die("no se puede conectar porque ".mysql_error());


Algo como lo que dice H3r3j3, pero si se puede poner el usuario y password de una base de datos especifica (pero ese ya es otro rollo de como crear un usuario especifico para x numero de bases de datos...mejor usemos root que es que puede administrar todos sin restricciones por default)

saludos

Por tangamampilia

.GAIA Developer

961 de clabLevel


6 articulos

Genero:Masculino   Anime Bloggers

México, D.F.

safari
Citar            
MensajeEscrito el 21 Feb 2006 06:29 pm
por cierto...

hasta que alguien escribe bien mi nick ¬¬

Por tangamampilia

.GAIA Developer

961 de clabLevel


6 articulos

Genero:Masculino   Anime Bloggers

México, D.F.

safari
Citar            
MensajeEscrito el 22 Feb 2006 08:49 am
Hola tangamampilia y H3r3j3

gracias a vuestros posts he conseguido establecer la conexion con la Bd.

Ahora a trabajar con las consultas.

Por perillan

100 de clabLevel



Genero:Masculino  

La Mancha profunda....

msie
Citar            
MensajeEscrito el 24 Feb 2006 03:07 pm
hola gente,

me parece que mi consulta esta relacionada con la de perillan de alguna manera...bueno, estoy con el mismo tutorial.

Mi problema es el siguiente...la aplicacion se queda colgada en la consulta inicial... :crap: y no pasa de ahi.

he conseguido hacer funcionar otras aplicaciones amfphp, aunque eso solo me confirma que tengo montado el tinglado minimamente bien.

Alguna idea?
----------------------
por cierto, primer foro en castellano relacionado con flash que veo interesante :P

Por goliatone

66 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Feb 2006 08:48 pm
activaste el net connection debugger?

generalmente si se queda atascada la consulta, es porque tienes un error en los archivos de amfphp...algun caracter en blanco se te escapo antes y despues de los <?PHP ?> a la hora de definir tus servicios o el gateway

Por tangamampilia

.GAIA Developer

961 de clabLevel


6 articulos

Genero:Masculino   Anime Bloggers

México, D.F.

safari
Citar            
MensajeEscrito el 25 Feb 2006 06:04 am

goliatone escribió:

Mi problema es el siguiente...la aplicacion se queda colgada en la consulta inicial... :crap: y no pasa de ahi.


Problemas de versiones de PHP, AMFPHP, MySQL... en el tutorial despejo algunas de esas dudas en la parte de consideraciones del tutorial, leelas y si aún te da problema, dice que versiones de AMFPHP, PHP y MySQL tiene instaladas

saludos ^^

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.