Foros del Web » Programando para Internet » PHP »

una funcion para hacer consultas!!

Estas en el tema de una funcion para hacer consultas!! en el foro de PHP en Foros del Web. hola chicos que tal como va todo? bueno pues bueno la verdad es que desde que he aprendido a usar la programacion orientada a objetos ...
  #1 (permalink)  
Antiguo 22/03/2013, 23:45
Avatar de sonickseven  
Fecha de Ingreso: diciembre-2012
Ubicación: bogota
Mensajes: 404
Antigüedad: 11 años, 11 meses
Puntos: 2
una funcion para hacer consultas!!

hola chicos que tal como va todo?

bueno pues bueno la verdad es que desde que he aprendido a usar la programacion orientada a objetos me a parecido muy buena y e caido en cuanta de una cosa y es que tengo demaciadas consultas mysql unas son simples solo Select * from tabla where column = 1; pero ahi otras que si son de mas cuidado y pues de esas tengo como 12 sin (contar) y faltan entonces me gustaria saber si hay una funcion ya creada para aplicarla. añana que ya hize una funcion para insertar y funciona bn!! je je ej aqui abajo se las dejo.

gracias :D

esta es la funcion
Código PHP:
Ver original
  1. public function insertUniver($tabla, $columna, $datos, $conexion){
  2.         $fullColumn= implode(",", $columna);
  3.         $fullDatos=  implode("','", $datos);
  4.         $query=$conexion->query("INSERT INTO $tabla ($fullColumn)
  5.                                                         VALUES('$fullDatos');");
  6.         if($query){
  7.             return TRUE;
  8.         }  else {
  9.             return FALSE;
  10.         }
  11.        
  12.     }

y aqui se llama
Código PHP:
Ver original
  1. $columna=array('usuario','historia','visto','fecha','hora');
  2.                     $datos=array($_SESSION['userCod'],$info['historia'], '0',$date, $hour);                
  3.                      insertUniver('difundir', $columna, $datos, $conexion);

ud veran como la usan solo digo que en $columna van las columna y en el mismo orden van la insercion de datos facil pero no he encontrado algo parecido para un select :(
  #2 (permalink)  
Antiguo 23/03/2013, 00:20
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: una funcion para hacer consultas!!

El problema con tu función es que no escapas los datos para insertarlos, puedes darte errores y usuarios maliciosos pueden hacer uso indebido de ella.

Intenta guardar algo como "Una cadena con 'comillas simples'." y verás lo que pasa.

Luego, no le veo mucho sentido a retornar true o false, si no haces una validación al ejecutar insertUniver.

Una de las bases para programar "bien" es no repetir código y supongo que es lo que intentas con la función, pero ahorrar unas cuantas líneas en lugar de evitar posibles errores, eso no es buena práctica.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 23/03/2013, 10:29
Avatar de sonickseven  
Fecha de Ingreso: diciembre-2012
Ubicación: bogota
Mensajes: 404
Antigüedad: 11 años, 11 meses
Puntos: 2
Respuesta: una funcion para hacer consultas!!

triby no te entendi bn lo que quieres explicar! sera que me lo puedes responder pero en codigo pues esta funcion la estoy utilizando mucho y me gustaria saber como usuario maliciosos puden hacer usuo indevido de ella??.
  #4 (permalink)  
Antiguo 23/03/2013, 11:16
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 15 años
Puntos: 25
Respuesta: una funcion para hacer consultas!!

mira este tuto hay un ejemplo muy util click aqui
__________________
cada vez que aprendes algo te crees que no sabes nada
  #5 (permalink)  
Antiguo 23/03/2013, 14:23
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: una funcion para hacer consultas!!

A ver si te sirve esto: http://www.forosdelweb.com/f18/aport...8/#post4265377
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: funcion, mysql, select, tabla
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 14:08.