Foros del Web » Programando para Internet » PHP »

Alguien me puede ayudar con una consulta like?

Estas en el tema de Alguien me puede ayudar con una consulta like? en el foro de PHP en Foros del Web. Buenos dias a todos. Resulta que tengo un formulario para subir datos a una base mysql. Estos se recogen con un fichero para subir los ...
  #1 (permalink)  
Antiguo 08/09/2012, 05:11
 
Fecha de Ingreso: agosto-2012
Ubicación: vigo
Mensajes: 84
Antigüedad: 11 años, 8 meses
Puntos: 0
Pregunta Alguien me puede ayudar con una consulta like?

Buenos dias a todos.
Resulta que tengo un formulario para subir datos a una base mysql. Estos se recogen con un fichero para subir los archivos.
El script funciona perfectamente, pero yo lo que queria, previa insercion mia de contraseñas en el campo contraseña de la base de datos, que solo subieran los formularios que contuvieran justo la misma contraseña que yo he puesto.
Lo que pongo mas abajo, son todo variables.
Esta es la sentencia que sube todo

$qry = "INSERT INTO apuntes VALUES
(0,'$nombre','$titulo','$ma','$direccion','$numero ','$localidad','$provincia','$telefono','$d1','$d2 ','$d3','$d4','$d5','$tipode','$hor','$desc','$ni' ,'$pp','$wifi','$a12','$ai','$tera','$vist','$mas' , ".date("Ymd").",'$contraseña','$m','$contenido','$ tipo')";


Y lo que os decia era que ahora inseerto un dato en el campo de la base de datos "contraseña" que sea por ejemplo "123" y quiero que solo suban los formularios que pongan la contraseña "123" y no consigo subir nada.

Probe esto y tampoco,

$qry = "INSERT INTO apuntes WHERE $contraseña LIKE '123' VALUES
(0,'$nombre','$titulo','$ma','$direccion','$numero ','$localidad','$provincia','$telefono','$d1','$d2 ','$d3','$d4','$d5','$tipode','$hor','$desc','$ni' ,'$pp','$wifi','$a12','$ai','$tera','$vist','$mas' , ".date("Ymd").",'$contraseña','$m','$contenido','$ tipo')";



Tambien probe esto y nada
$qry = "INSERT INTO apuntes WHERE contraseña = '123' VALUES
(0,'$nombre','$titulo','$ma','$direccion','$numero ','$localidad','$provincia','$telefono','$d1','$d2 ','$d3','$d4','$d5','$tipode','$hor','$desc','$ni' ,'$pp','$wifi','$a12','$ai','$tera','$vist','$mas' , ".date("Ymd").",'$contraseña','$m','$contenido','$ tipo')";


AGRADECERIA MUCHISIMO QUE ALGUIEN ME ECHARA UNA MANO.
  #2 (permalink)  
Antiguo 08/09/2012, 08:29
 
Fecha de Ingreso: septiembre-2012
Mensajes: 5
Antigüedad: 11 años, 7 meses
Puntos: 2
Respuesta: Alguien me puede ayudar con una consulta like?

voy a ver si entendi quieres que se haga la consulta cuando tu variable es 123.. porque no le pones un if antes de hacer tu consulta.... y no vi el like por ninguna parte :S
  #3 (permalink)  
Antiguo 08/09/2012, 09:05
 
Fecha de Ingreso: agosto-2012
Ubicación: vigo
Mensajes: 84
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Alguien me puede ayudar con una consulta like?

gracias por ontestra.
En la segunda sentencia pongo el like pero tampoco memuestra nada
  #4 (permalink)  
Antiguo 08/09/2012, 09:12
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Alguien me puede ayudar con una consulta like?

Cita:
pero yo lo que queria, previa insercion mia de contraseñas en el campo contraseña de la base de datos, que solo subieran los formularios que contuvieran justo la misma contraseña que yo he puesto.
Ajá.... ¿Y donde realizas la verificación de que sólo realice el INSERT si la contraseña es la que dices que va?
Porque lo que muestras son sólo los INSERT, no esa verificación...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 08/09/2012, 09:28
 
Fecha de Ingreso: agosto-2012
Ubicación: vigo
Mensajes: 84
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Alguien me puede ayudar con una consulta like?

la verdad es que la contraseña se la pongo yo a cada usuario.
Entonces, como deberia de hacer?.

Gracias por tu respuesta
  #6 (permalink)  
Antiguo 08/09/2012, 10:27
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Alguien me puede ayudar con una consulta like?

Cita:
la verdad es que la contraseña se la pongo yo a cada usuario.
Bueno, eso en realidad, no es relevante. El hecho es que cada usuario tiene una contraseña, y por ende, en algún momento la debes verificar...
¿O no lo estás haciendo?
Si la navegación se debe realizar si y sólo si una contraseña es válida, entonces depende de un IF() donde verifiques si la contraseña es correcta, y sólo si es true, puede seguir.
No termino de ver en qué se te complica.
Cita:
1. El usuario ingresa su username y pwd y manda a verificar.
2. El sistema valida el user y pwd.
2.1. Si existe, continúa en el paso (3)
2.2. Si no existe, presenta una advertencia y termina el caso de uso.
3. El sistema muestra las vistas (formularios) iniciales, según parámetros obtenidos en la validación.
El cómo lo implementes, depende de tu experiencia o ingenio, pero el caso de uso se resume así.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 08/09/2012, 10:29
 
Fecha de Ingreso: septiembre-2012
Mensajes: 5
Antigüedad: 11 años, 7 meses
Puntos: 2
Respuesta: Alguien me puede ayudar con una consulta like?

hasta donde se no puedes usar una variable dentro de una sentencia sql al menos que la declares dentro de un StoreProcedure y que el insert lo hagas dentro del procedimiento y luego llamas al store procedure

ahora si lo que quieres es validar que se inserte cuando tu variable es 123 ponle un if antes de tu insert
if($user=123)
{
INSERT INTO apuntes VALUES
(0,'$nombre','$titulo','$ma','$direccion','$numero ','$localidad','$provincia','$telefono','$d1','$d2 ','$d3','$d4','$d5','$tipode','$hor','$desc','$ni' ,'$pp','$wifi','$a12','$ai','$tera','$vist','$mas' , ".date("Ymd").",'$contraseña','$m','$contenido ','$ tipo')
}
  #8 (permalink)  
Antiguo 08/09/2012, 10:47
 
Fecha de Ingreso: agosto-2012
Ubicación: vigo
Mensajes: 84
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Alguien me puede ayudar con una consulta like?

gracias a los dos por vuestros comentarios.
no m pregunto yo que seria mejor poner if($contrasena=123) ??.
Por otro lado, gnz, ya entra directamente en el formulario porque yo le he dado una clave que previamente he introducido, pero lo q necesito hacer es poner un filtro para que no puedan subir todos los formularios sino una palabra clave y por eso pense en poner un valor a una contraseña y esos valores de esas contraseñas fueran distintos.
Muchas gracias porque me estais ayudando
  #9 (permalink)  
Antiguo 08/09/2012, 17:02
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Alguien me puede ayudar con una consulta like?

Cita:
Iniciado por warslv Ver Mensaje
hasta donde se no puedes usar una variable dentro de una sentencia sql al menos que la declares dentro de un StoreProcedure y que el insert lo hagas dentro del procedimiento y luego llamas al store procedure

ahora si lo que quieres es validar que se inserte cuando tu variable es 123 ponle un if antes de tu insert
if($user=123)
{
INSERT INTO apuntes VALUES
(0,'$nombre','$titulo','$ma','$direccion','$numero ','$localidad','$provincia','$telefono','$d1','$d2 ','$d3','$d4','$d5','$tipode','$hor','$desc','$ni' ,'$pp','$wifi','$a12','$ai','$tera','$vist','$mas' , ".date("Ymd").",'$contraseña','$m','$contenido ','$ tipo')
}
Estás mezclando conceptos.
El contenido de las variables de PHP para a ser parte de la consulta cuando creas la cadena que vas a usar para enviar a la base.
Esto:
Código PHP:
$qry "INSERT INTO apuntes WHERE contraseña = '123' VALUES
(0,'$nombre','$titulo','$ma','$direccion','$numero ','$localidad','$provincia','$telefono','$d1','$d2 ','$d3','$d4','$d5','$tipode','$hor','$desc','$ni' ,'$pp','$wifi','$a12','$ai','$tera','$vist','$mas' , "
.date("Ymd").",'$contraseña','$m','$contenido','$ tipo')"
PHP reemplazará cada una de sus variables en la cadena por el valor contenido en ella.
Es entonces la variable $query la que contiene la consulta, la cual se enviará por medio de mysql_query() o lo que uses a MySQL.
Las variables locales de los SP son un tema totalmente distinto y completamente OFF-TOPIC de este foro.
Lo que le está faltando a @maquinistas es conocimientos de programación aplicada a bases de datos para poder hacer lo que necesita. Yo te sugeriría que te fijaras en las FAQs de este foro por ejemplos que te sirvan a tus necesidades. Hay muchos.

Ahora bien, esa consulta está mal escrita, porque el WHERE no es parte del INSERT, por lo que no te va a funcionar así, Además, si el primer campo es un auto_increment, lo que hay que enviar es un NULL, no un cero (no son la misma cosa).
Te conviene buscar un manual básico de SQL para revisar lo que escribes antes de usarlas.
Y recuerda que MySQL y el SQL no es PHP. Tiene sus propias reglas y dentro de un entorno de existencia se deben respetar.
Código PHP:
$qry "INSERT INTO apuntes VALUES
(NULL,'$nombre','$titulo','$ma','$direccion','$numero  ',
'$localidad','$provincia','$telefono','$d1','$d2  ','$d3','$d4',
'$d5','$tipode','$hor','$desc','$ni'  ,'$pp','$wifi','$a12','$ai',
'$tera','$vist','$mas' ,  '"
.date("Ymd")."','$contraseña',
'$m','$contenido','$ tipo')"

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 08/09/2012 a las 17:15
  #10 (permalink)  
Antiguo 09/09/2012, 10:25
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Alguien me puede ayudar con una consulta like?

Acá tienes un ejemplo de autenticación de usuarios, tomado de las FAQ de PHP:
PHP:Autentificar usuarios en base de datos
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: formulario, mysql, variables
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 12:34.