Foros del Web » Programando para Internet » PHP »

Consulta de logueo en 4 tablas distintas

Estas en el tema de Consulta de logueo en 4 tablas distintas en el foro de PHP en Foros del Web. Hola foreros: encontre esta forma de consultar a 4 tablas no-dependientes, haciendo uso del UNION ALL Código PHP: ( SELECT LOGIN ,  CONTRASENA FROM franquiciador WHERE  ( LOGIN =% ...
  #1 (permalink)  
Antiguo 08/02/2012, 14:23
 
Fecha de Ingreso: agosto-2010
Ubicación: Lima - Perú
Mensajes: 90
Antigüedad: 14 años, 3 meses
Puntos: 2
De acuerdo Consulta de logueo en 4 tablas distintas

Hola foreros:

encontre esta forma de consultar a 4 tablas no-dependientes, haciendo uso del UNION ALL

Código PHP:

(SELECT LOGINCONTRASENA FROM franquiciador WHERE (LOGIN=%AND CONTRASENA=%s))
UNION ALL
(SELECT LOGINCONTRASENA FROM franquiciado WHERE (LOGIN=%AND CONTRASENA=%s))
UNION ALL
(SELECT LOGINCONTRASENA FROM inversionista WHERE (LOGIN=%AND CONTRASENA=%s))
UNION ALL
(SELECT LOGINCONTRASENA FROM proveedor WHERE (LOGIN=%AND CONTRASENA=%s)) 
este SELECT funciona en mi editor de mysql, pero quiero meterlo en este código (aquí abajo) que es la consulta que hago a la BD donde se encuentra mi USUARIO Y PASSWORD:

Código PHP:

  $LoginRS__query
=sprintf("SELECT LOGIN, CONTRASENA FROM franquiciado WHERE LOGIN=%s AND CONTRASENA=%s",
    
GetSQLValueString($loginUsername"text"), GetSQLValueString($password"text")); 
como lo puedo meter ?? ya que cuando lo hago me muestra error con el sprintf

Saludos
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no"
  #2 (permalink)  
Antiguo 08/02/2012, 14:26
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Consulta de logueo en 4 tablas distintas

¿Que error te muestra?

Sí el problema es de comillas lee esto: http://www.forosdelweb.com/f18/como-...1/#post2414268
  #3 (permalink)  
Antiguo 08/02/2012, 14:34
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 793
Respuesta: Consulta de logueo en 4 tablas distintas

Para poder repetir las variables tienes que usar esta sintaxis:

Código PHP:
Ver original
  1. <?php
  2. $texto = 'texto 1';
  3. $texto2 = 'texto 2';
  4.  
  5. echo sprintf('Este es mi %2$s y este es mi %2$s y %1$s', $texto, $texto2);

Tener en cuenta que tiene que ir en comillas simples.

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #4 (permalink)  
Antiguo 08/02/2012, 14:38
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Consulta de logueo en 4 tablas distintas

Cita:
Iniciado por andresdzphp Ver Mensaje
Para poder repetir las variables tienes que usar esta sintaxis:

Código PHP:
Ver original
  1. <?php
  2. $texto = 'texto 1';
  3. $texto2 = 'texto 2';
  4.  
  5. echo sprintf('Este es mi %2$s y este es mi %2$s y %1$s', $texto, $texto2);

Tener en cuenta que tiene que ir en comillas simples.

Saludos.
O si no deberás escapar el signo de dolar \$
  #5 (permalink)  
Antiguo 08/02/2012, 17:05
 
Fecha de Ingreso: agosto-2010
Ubicación: Lima - Perú
Mensajes: 90
Antigüedad: 14 años, 3 meses
Puntos: 2
Respuesta: Consulta de logueo en 4 tablas distintas

Al querer introducir mi ULTRACONSULTA

Código PHP:

$LoginRS__query
=sprintf('(SELECT LOGIN, CONTRASENA FROM franquiciador WHERE (LOGIN=%s AND CONTRASENA=%s))
UNION ALL
(SELECT LOGIN, CONTRASENA FROM franquiciado WHERE (LOGIN=%s AND CONTRASENA=%s))
UNION ALL
(SELECT LOGIN, CONTRASENA FROM inversionista WHERE (LOGIN=%s AND CONTRASENA=%s))
UNION ALL
(SELECT LOGIN, CONTRASENA FROM proveedor WHERE (LOGIN=%s AND CONTRASENA=%s))'
,
    
GetSQLValueString($loginUsername"text"), GetSQLValueString($password"text")); 
me aparece lo siguiente al momento de loguearme



y viendo mi dreamweaver me apunta a el copdigo q escribí arriba:



sera a algu problema de sintaxis del sprintf o es q no me deja hacer consultas q involucren varios SELECTs

desde ya gracias por responderme anteriormente, saludo maestros
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no"
  #6 (permalink)  
Antiguo 08/02/2012, 17:11
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 793
Respuesta: Consulta de logueo en 4 tablas distintas

No leiste lo que te dejé... Tienes que usar esta sintaxis si vas a repetir las variables:

Código PHP:
Ver original
  1. <?php
  2. $texto = 'texto 1';
  3. $texto2 = 'texto 2';
  4.  
  5. echo sprintf('Este es mi %2$s y este es mi %2$s y %1$s', $texto, $texto2);

%2$s --> Sería variable 2 string
%1$s --> Sería variable 1 string

reemplaza los %s por %1$s para la primera variable y %2$s para la segunda

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #7 (permalink)  
Antiguo 09/02/2012, 09:30
 
Fecha de Ingreso: agosto-2010
Ubicación: Lima - Perú
Mensajes: 90
Antigüedad: 14 años, 3 meses
Puntos: 2
Respuesta: Consulta de logueo en 4 tablas distintas

Buenos días:

acabo de reemplazar el código:

Código PHP:


  $LoginRS__query
=sprintf('(SELECT LOGIN, CONTRASENA FROM franquiciado WHERE (LOGIN=%2$s AND CONTRASENA=%1$s))UNION ALL
                           (SELECT LOGIN, CONTRASENA FROM franquiciador WHERE (LOGIN=%2$s AND CONTRASENA=%1$s)) UNION ALL
                           (SELECT LOGIN, CONTRASENA FROM inversionista WHERE (LOGIN=%2$s AND CONTRASENA=%1$s))UNION ALL
                           (SELECT LOGIN, CONTRASENA FROM proveedor WHERE (LOGIN=%2$s AND CONTRASENA=%1$s))'
                           
,GetSQLValueString($loginUsername"text"), GetSQLValueString(  $password"text")); 
ya no me aparece el error pero al momento del logueo no esta capturando las variables de USUARIO y CONTRASENA por ello me re-envía a otra pagina pero ya sin muestra de errores, estaré comiéndome algún carácter o comilla.


Saludos cordialesss
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no"
  #8 (permalink)  
Antiguo 09/02/2012, 09:39
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 793
Respuesta: Consulta de logueo en 4 tablas distintas

Colocaste todo al revés, %1$s es para el login y %2$s es para la contraseña... Tienes problema hasta para reemplazar, te recomiendo leer más un manual y no pegarse tanto del famoso "Dreamweaver" y de su código "auto generado".

Prueba así:

Código PHP:
Ver original
  1. $LoginRS__query = sprintf("(SELECT LOGIN, CONTRASENA FROM franquiciado WHERE (LOGIN='%1\$s' AND CONTRASENA='%2\$s'))UNION ALL
  2.                           (SELECT LOGIN, CONTRASENA FROM franquiciador WHERE (LOGIN='%1\$s' AND CONTRASENA='%2\$s')) UNION ALL
  3.                           (SELECT LOGIN, CONTRASENA FROM inversionista WHERE (LOGIN='%1\$s' AND CONTRASENA='%2\$s'))UNION ALL
  4.                           (SELECT LOGIN, CONTRASENA FROM proveedor WHERE (LOGIN='%1\$s' AND CONTRASENA='%2\$s'))",
  5. GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));

PD: Para mí lleva comillas sencillas cada campo, no sé "dreamweaver" como maneje eso.

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Etiquetas: distintas, logueo, mysql, sql, tabla, tablas, usuarios
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:16.