Foros del Web » Programando para Internet » PHP »

consulta mysql como parametro a una funcion

Estas en el tema de consulta mysql como parametro a una funcion en el foro de PHP en Foros del Web. HOla. Estoy haciendo una funcion para que me suba las fotos. El caso es que dicha función la quiero utilizar más de una vez para ...
  #1 (permalink)  
Antiguo 18/02/2015, 02:51
Avatar de Filgood  
Fecha de Ingreso: octubre-2008
Mensajes: 87
Antigüedad: 15 años, 6 meses
Puntos: 1
consulta mysql como parametro a una funcion

HOla. Estoy haciendo una funcion para que me suba las fotos. El caso es que dicha función la quiero utilizar más de una vez para subir todo tipo de fotos y en diferentes directorios etc..

he probado con esto pero funciona todo menos cuando quiero insertar en la db los datos de la foto. Y me he dicho que igual es que la funcion no admite como parametro una consulta a la db. Igual me explico mejor con un ejemplo

Código PHP:
$consulta="select * from cp where id='1'";

function 
subirfoto($consulta)
{
$insertando=mysqli_query($conectar,$consulta);

A mi no me funciona la consulta dentro de la función con este método. No se si se podra hacer esto que quiero de alguna forma para poder reutilizar mi función subir foto cuando quiera pasandole a la vez mas parametros como el directorio etc...

Muchas gracias
  #2 (permalink)  
Antiguo 18/02/2015, 03:05
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: consulta mysql como parametro a una funcion

La función tiene un ámbito diferente del resto...

¿Qué es $conectar? Eso la función no lo sabe, salvo que le digas que es...

Tienes dos opciones, o pasarla por parámetro, o decirle que es una variable global

Saludos
__________________
>> Eleazan's Source
>> @Eleazan
  #3 (permalink)  
Antiguo 18/02/2015, 03:54
Avatar de Filgood  
Fecha de Ingreso: octubre-2008
Mensajes: 87
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: consulta mysql como parametro a una funcion

Hola

$conectar es la conexion a la db. Aunque no la he incluido en el ejemplo era solo para que se entendiera un poco.

Entonces me dices que esto funcionaria?:

Código PHP:
$consulta="select * from cp where id='1'"

function 
subirfoto($consulta

$conectar=cbd(); // esta es la función en donde está la conexión a la db que me preguntabas antes
global $consulta;
$insertando=mysqli_query($conectar,$consulta); 

Voy a probar y te digo. Saludos y gracias
  #4 (permalink)  
Antiguo 18/02/2015, 04:07
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: consulta mysql como parametro a una funcion

Ahí te sobra el global....

Te decía que podías hacer esto:
Código PHP:

function subirfoto($consulta

$conectar=cbd(); 
$insertando=mysqli_query($conectar,$consulta); 

O bien, esto:
Código PHP:

function subirfoto($consulta

global 
$conectar;
$insertando=mysqli_query($conectar,$consulta); 


Evidentemente, en ambas, deberías hacer un return $insertando

Saludos
__________________
>> Eleazan's Source
>> @Eleazan
  #5 (permalink)  
Antiguo 18/02/2015, 04:12
Avatar de Filgood  
Fecha de Ingreso: octubre-2008
Mensajes: 87
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: consulta mysql como parametro a una funcion

Hola compañero. ¿ no es lo mismo que estaba haciendo ? gracias

Y el segundo ejemplo esta bien?
  #6 (permalink)  
Antiguo 18/02/2015, 04:21
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: consulta mysql como parametro a una funcion

Cita:
Iniciado por Filgood Ver Mensaje
Hola compañero. ¿ no es lo mismo que estaba haciendo ? gracias

Y el segundo ejemplo esta bien?
Veamos...

global hace que puedas obtener una variable de fuera del ámbito de la función.

Por ejemplo,
Código PHP:

$valor_de_fuera 
5;

$valor_sumado suma_tres();
echo 
$valor_sumado//8
function suma_tres() { 
    global 
$valor_de_fuera;
    return 
$valor_de_fuera+3

Evidentemente, tiene que tener "algún valor" fuera. Si pones "global $conexion;", y fuera de la función no existe, no sirve de nada...

Y no, no es lo mismo que estabas haciendo.

Primero creaabas $conexion en la función, y después llamabas a global sobre conexion.. asiq la primera linea te era inservible.

Personalmente, te recomiendo no usar global, pero es una opción que tienes.
Saludos!
__________________
>> Eleazan's Source
>> @Eleazan
  #7 (permalink)  
Antiguo 18/02/2015, 04:28
Avatar de Filgood  
Fecha de Ingreso: octubre-2008
Mensajes: 87
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: consulta mysql como parametro a una funcion

Muchas gracias. Saludos

Etiquetas: funcion, mysql, parametro, select, sql
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 22:55.