Foros del Web » Programando para Internet » PHP »

PHP query Msql a traves de GET

Estas en el tema de PHP query Msql a traves de GET en el foro de PHP en Foros del Web. Hola amigos mi nombre es Mariog, reciban un abrazo. Estoy intentando crear una clase que me permita hacer consultas a la base de datos mysql ...
  #1 (permalink)  
Antiguo 25/07/2010, 22:21
 
Fecha de Ingreso: julio-2010
Mensajes: 2
Antigüedad: 13 años, 8 meses
Puntos: 0
PHP query Msql a traves de GET

Hola amigos mi nombre es Mariog, reciban un abrazo.

Estoy intentando crear una clase que me permita hacer consultas a la base de datos mysql desde una pagina html

Para tal fin instancio la clase y en una de las variables le escribo la sentencia que deseo enviar por GET a mi Clase. Ejemplo:

$consulta=NEW bd();
$consulta->query("INSERT into proveedores(nombre,telefono,direccion)values(\$nom bre,\$telefono,\$direccion")

del otro lado ya tengo declaradas las variables obtenidas por $_GET. Incluso recibo perfectamente el query pero no me lo interpreta. Los "\" los utilizo para que las variables lleguen al otro lado con su respectivo signo de $.

Como puedo lograr que la $consulta->query sea interpretada correctamente. Deberé aplicarle alguna funcion del tipo array? o definitivamente no se pueden enviar query's a través de un GET o POST por la barra de direcciones a una clase y le haga la consulta a la base de datos? Gracias por su ayuda.
  #2 (permalink)  
Antiguo 26/07/2010, 00:16
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: PHP query Msql a traves de GET

Sí se puede, solo que tienes que usar correctamente las variables. Si vas a hacer una petición usando GET debes entonces usar $_GET['foo'] y si vas a enviar la petición usando POST debes usar $_POST.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 26/07/2010, 01:23
 
Fecha de Ingreso: julio-2010
Mensajes: 2
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: PHP query Msql a traves de GET

Gracias abimaelrc por intentar ayudarme, pero es mas complejo de lo que parece. Te explico porque...

La clase debe ser autonoma, en teoria no tiene porque saber que valores le va a llegar del formulario html, ella debe simplemente de tomarlos interpretarlos, y darselo a mysql para que este al final devuelva o realice el query tal como se le indicó desde el formulario.

Si yo le doy a la clase un $_GET['foo'], ya estaría amarrando la clase para un solo formulario y si tengo 20 formularios en html con diferentes campos y valores, tendría que hacer una clase para cada uno de ellos. TE preguntarás entoces como le paso las variables por GET de una manera generica: Facil utilicé un array_keys($_GET) para los nombres de las variables y un array_values($_GET) para los valores de esas variables. De esta manera no tengo que declar ninguna variable dentro de la clase, simplemente las toma del formulario via GET con nombre y valor propio, tal como llegan y le asigna el signo de "$" para convertirla en variable. De esta manera me ahorra estar escribiendo un $_GET['foo'] para cada campo.

El problema como te comenté en un principio, es que no me interpreta lo que le pongo en la $consulta->query.
Es como si el query llegara de una manera encriptada, o algo asi. Quisiera saber si existe otra solucion. De todas formas, mil gracias por el aporte.

Última edición por mariog123; 26/07/2010 a las 01:28
  #4 (permalink)  
Antiguo 26/07/2010, 02:19
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: PHP query Msql a traves de GET

Vamos por partes, ¿tu quieres guardar en la base de datos las variables o los valores? Es que no entiendo porque estás escapando los signos de $. Lo otro una forma sencilla de convertir $_GET['fpo'] a $foo es usando la función extract. También debes entender si vas a escribir los valores dentro de la consulta debes encerrar entre comillas los valores, si es que se deben guardar como cadenas.
Código PHP:
Ver original
  1. $consulta->query("INSERT into proveedores(nombre,telefono,direccion)values('$nom bre','$telefono','$direccion')");
Y lo más importante es que depures tus consultas, usa PDOException para saber si cometiste algún error en la consulta
Código PHP:
Ver original
  1. try{
  2.     //$db contiene la instancia de la conexión a la base de datos usando claro está PDO
  3.     $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  4.     //Luego la consulta...
  5.     $db->query('aqui va tu consulta');
  6. }catch(PDOException $e){
  7.     $e->getMessage();
  8. }
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: msql, query
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:40.