Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/07/2021, 03:27
Avatar de zerpico_01
zerpico_01
 
Fecha de Ingreso: enero-2008
Ubicación: Wilde - Avellaneda -
Mensajes: 421
Antigüedad: 16 años, 3 meses
Puntos: 13
Respuesta: 2 tablas login sin relacion

Info

https://dev.mysql.com/doc/refman/8.0...variables.html

Sospecho que el arroba le esta jugando una mala pasada

mysql tiene alcance de sesión, usar un arroba dentro de una consulta,
puede que este generando el error.
Tiene que ver el tipo de campo tambien al que se esta consultando, si es vachar, hay un problema.

Observe que se esta enviando como valor de consulta un arroba y esto mysql lo interpreta
como @variable, las variables comenzadas con arroba son variables de tipificación libre, que pueden inicializarse
en algún momento de una sesión y mantener su valor hasta el final de la misma.

por definición se preparan con @ y firmadas así @variable se pueden iniciar en un SET o dentro de una consulta,
por lo que si usted esta enviando
Código PHP:
Ver original
  1. $correo =alguncorreo@gmail.com
, puede estar interpretando
Código PHP:
Ver original
  1. @gmail.com
como variable.
Resumiendo:
En mysql, @variable indica una variable definida por el usuario.
El alcance de esta variable es la totalidad de la sesión. Eso significa que mientras exista su conexión con la base de datos, la variable puede seguir siendo utilizada, es bueno para ciertas ocasiones y no para otras :(
en su caso no es el modo, y sospecho que esto le esta ocurriendo, para saberlo imprima los errores,
si imprime:

Código PHP:
You have an error in your SQL syntax;....near '@uncorreodemo.com'... 
es problema de su método de consulta y se esta interpretando @uncorreodemo como variable definida por usted.

Probemos

Código PHP:
creo dos tablas :

CREATE TABLE `loginuno` (
  `
idint(10unsigned NOT NULL auto_increment,
  `
correovarchar(60NOT NULL,
  `
namevarchar(32NOT NULL,
  
PRIMARY KEY (`id`)
ENGINE=InnoDB DEFAULT CHARSET=utf8

CREATE TABLE 
`logindos` (
  `
idint(10unsigned NOT NULL auto_increment,
  `
correovarchar(60NOT NULL,
  `
namevarchar(32NOT NULL,
  
PRIMARY KEY (`id`)
ENGINE=InnoDB DEFAULT CHARSET=utf8


INSERT INTO 
`logindos` (`id`, `correo`, `name`) VALUES
(1'[email protected]''walter');

INSERT INTO `loginuno` (`id`, `correo`, `name`) VALUES
(1'[email protected]''hola walter'); 
GENERAMOS ERROR ARROBA

Código PHP:
$correo '[email protected]';

$sql "SELECT *
  FROM loginuno left_tbl LEFT JOIN logindos right_tbl ON left_tbl.correo = right_tbl.correo
  WHERE right_tbl.correo ="
.$correo;

$result $mysqli->query($sql);

if (!
$result) {
    echo 
$mysqli->error;
}

/**
imprime

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '@hotmail.com' at line 3

*/ 
VAMOS A HACER UNA CONSULTA CORRECTA

Código PHP:
$id '1';

/** relizamos una consulta razonable */
$sql "SELECT *
  FROM loginuno left_tbl LEFT JOIN logindos right_tbl ON left_tbl.id = right_tbl.id
  WHERE right_tbl.id ="
.(int)$id;

$result $mysqli->query($sql);

if (!
$result) {
    echo 
$mysqli->error;
} else {
    
$algo $result->fetch_assoc();
   
// print_r($algo); /** IMPRIME ARRAY COMPLETO */
    
echo $algo['correo']; /** IMPRIME EL CORREO [email protected] */

EN FIN, PUEDE QUE LE SEA DE AYUDA
LECTURA RECOMENDADA

https://dev.mysql.com/doc/refman/8.0...variables.html

y como siempre RTFM

https://es.wikipedia.org/wiki/RTFM

saludos
__________________
Es duro fracasar en algo, pero es mucho peor no haberlo intentado. - Si crees todo lo que lees, mejor no leas -

Última edición por zerpico_01; 13/07/2021 a las 03:35