Foros del Web » Programando para Internet » PHP »

No encuentro la falla

Estas en el tema de No encuentro la falla en el foro de PHP en Foros del Web. Em marca esta falla Parse error: syntax error, unexpected '=' in /home/cleanhou/public_html/paginas/conexion.php on line 10 <?php $base="casa"; $conexion=mysql_connect("localhost","*root","***") or die ('I cannot connect to the ...
  #1 (permalink)  
Antiguo 27/04/2008, 18:24
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
No encuentro la falla

Em marca esta falla

Parse error: syntax error, unexpected '=' in /home/cleanhou/public_html/paginas/conexion.php on line 10


<?php

$base="casa";
$conexion=mysql_connect("localhost","*root","***") or die ('I cannot connect to the database because: ' . mysql_error());
$db=mysqli_select_db($conexion,$base);;

$txtUsuario=$_POST['txtUsuario'];
$txtPasswd=$_POST['txtPasswd'];

sql="select idUser from usuario (esta es la linea 10)
where login='$txtUsuario' and password='$txtPasswd'";
$resultado=mysql_query($conexion,$sql); or die( "Error en $sql, error: " . mysql_error() );
if($fila=mysql_fetch_array($resultado)){
session_start();
$_SESSION['login']=$txtUsuario;
$_SESSION['idUser']=$fila['idUser'];
header("Location: http://cleanhousemexico.com/paginas/aut/valido.php");
}
else{
header("Location: http://cleanhousemexico.com/paginas/aut/novalidado.php?error=1");
session_destroy();
}
?>
  #2 (permalink)  
Antiguo 27/04/2008, 18:32
 
Fecha de Ingreso: febrero-2007
Mensajes: 450
Antigüedad: 17 años, 2 meses
Puntos: 3
Re: No encuentro la falla

Es un problema de SQL, no de PHP.

Si estás trabajando con cadenas de texto no puedes utilizar el = en la clausula WHERE, sino la LIKE:

Prueba a cambiar:

sql="select idUser from usuario where login='$txtUsuario' and password='$txtPasswd'";

Por:

sql="select idUser from usuario where login like '$txtUsuario' and password like '$txtPasswd'";

Si sigue sin funcionar, trata de utilizar operadores de concatenación en lugar de "confiar" en las comillas..

Saludos.
  #3 (permalink)  
Antiguo 27/04/2008, 21:04
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Re: No encuentro la falla

Cita:
Iniciado por c_keeper Ver Mensaje
Es un problema de SQL, no de PHP.

Si estás trabajando con cadenas de texto no puedes utilizar el = en la clausula WHERE, sino la LIKE:

Prueba a cambiar:

sql="select idUser from usuario where login='$txtUsuario' and password='$txtPasswd'";

Por:

sql="select idUser from usuario where login like '$txtUsuario' and password like '$txtPasswd'";

Si sigue sin funcionar, trata de utilizar operadores de concatenación en lugar de "confiar" en las comillas..

Saludos.
pues no se resolvio, el error no me lo especifica despues del where por el numero de linea, que otra cosa puede ser?
  #4 (permalink)  
Antiguo 27/04/2008, 21:23
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Re: No encuentro la falla

Cita:
Iniciado por RicardoU Ver Mensaje
pues no se resolvio, el error no me lo especifica despues del where por el numero de linea, que otra cosa puede ser?
Error en select idUser from usuario where login ='admin' and password ='000', error: Unknown column 'idUser' in 'field list'

Me sale este error, estoy verificando en sql el codigo y el codigo de sql no es el problema por que si apacer el campo de idUser pero no detecto la falla.
SQL query:SELECT idUser
FROM usuario
WHERE login = 'admin'
AND PASSWORD = '000'
LIMIT 0 , 30
  #5 (permalink)  
Antiguo 27/04/2008, 21:26
 
Fecha de Ingreso: septiembre-2006
Ubicación: Buenos Aires
Mensajes: 125
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: No encuentro la falla

lo que veo es que falta el $
$sql="...";
__________________
alquiler gesell
  #6 (permalink)  
Antiguo 27/04/2008, 21:33
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Re: No encuentro la falla

Cita:
Iniciado por acknowledge Ver Mensaje
lo que veo es que falta el $
$sql="...";
GRacias ya lo corregi ahora me especifica este error

Error en SELECT idUser FROM usuario WHERE login ='admin' and password ='000', error: 1054

como soluciono esta falla
  #7 (permalink)  
Antiguo 27/04/2008, 21:53
 
Fecha de Ingreso: septiembre-2006
Ubicación: Buenos Aires
Mensajes: 125
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: No encuentro la falla

..............................

Última edición por acknowledge; 27/04/2008 a las 22:05 Razón: dejo solo el siguiente
  #8 (permalink)  
Antiguo 27/04/2008, 22:03
 
Fecha de Ingreso: septiembre-2006
Ubicación: Buenos Aires
Mensajes: 125
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: No encuentro la falla

Código PHP:
sql="select * from usuario (esta es la linea 10)
where login='$txtUsuario' and password='$txtPasswd'"
;
$resultado=mysql_query($conexion,$sql); or die( "Error en $sql, error: " mysql_error() );
$num_rows mysql_num_rows($resultado);
if (
$num_rows==1){
while(
$fila=mysql_fetch_array($resultado)){
session_start();
$_SESSION['login']=$txtUsuario;
$_SESSION['idUser']=$fila['idUser'];
}
header("Location: http://cleanhousemexico.com/paginas/aut/valido.php");
}
else{
header("Location: http://cleanhousemexico.com/paginas/aut/novalidado.php?error=1");
session_destroy();

Yo haria algo asi (no lo ejecute puede tener algun error)
__________________
alquiler gesell
  #9 (permalink)  
Antiguo 27/04/2008, 22:22
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Re: No encuentro la falla

Cita:
Iniciado por acknowledge Ver Mensaje
Código PHP:
sql="select * from usuario (esta es la linea 10)
where login='$txtUsuario' and password='$txtPasswd'"
;
$resultado=mysql_query($conexion,$sql); or die( "Error en $sql, error: " mysql_error() );
$num_rows mysql_num_rows($resultado);
if (
$num_rows==1){
while(
$fila=mysql_fetch_array($resultado)){
session_start();
$_SESSION['login']=$txtUsuario;
$_SESSION['idUser']=$fila['idUser'];
}
header("Location: http://cleanhousemexico.com/paginas/aut/valido.php");
}
else{
header("Location: http://cleanhousemexico.com/paginas/aut/novalidado.php?error=1");
session_destroy();

Yo haria algo asi (no lo ejecute puede tener algun error)
Este es el codigo corregido pero no puedo eliminar el error 1054, como lo elimino ya cheque mis tablas y el codigo no encuentro el error, me puedes ayudar.?

<?php

$base="cleanhou_cleanhouse";
$conexion=mysql_connect("localhost","cleanhou_root ","**")or die ('I cannot connect to the database because: ' . mysql_error());
$db=mysql_select_db($base,$conexion);

$txtUsuario=$_POST['txtUsuario'];
$txtPasswd=$_POST['txtPasswd'];

$sql="SELECT idUser FROM usuario
WHERE login ='$txtUsuario' and password ='$txtPasswd'";
$resultado=mysql_query($sql) or die( "Error en $sql, error: " . mysql_errno() );
if($fila=mysql_fetch_array($resultado)){
session_start();
$_SESSION['login']=$txtUsuario;
$_SESSION['idUser']=$fila['idUser'];
header("Location: http://cleanhousemexico.com/paginas/aut/valido.php");
}
else{
header("Location: http://cleanhousemexico.com/paginas/aut/novalidado.php?error=1");
session_destroy();
}
?>
  #10 (permalink)  
Antiguo 28/04/2008, 00:42
Avatar de Gerifaltus  
Fecha de Ingreso: junio-2005
Ubicación: Tabasco, México
Mensajes: 180
Antigüedad: 18 años, 9 meses
Puntos: 4
Re: No encuentro la falla

Hola RicardoU;

Según la documentación de mysql, ese error aparece cuando en la consulta indicas un campo que no exite en la tabla, verifica tus campos de la tabla con lupa si es necesario.

Errores en MySQL - Documentación

Otra cosa, intenta escribir la consulta de esta forma:
Código:
SELECT idUser FROM usuario WHERE login ='$txtUsuario' and password '$txtPasswd
Es decir, todo junto y en una sola línea, sino sepárala en varias líneas pero concatenando la variable $sql :)

Saludos.
__________________
:::.. Todo tiene un ¿Por qué? y un ¿Para qué? ..:::
:::.. Todo se reduce a un SI y a un No ..:::
  #11 (permalink)  
Antiguo 28/04/2008, 15:10
 
Fecha de Ingreso: febrero-2007
Mensajes: 450
Antigüedad: 17 años, 2 meses
Puntos: 3
Re: No encuentro la falla

te vuelvo a decir lo del LIKE...
  #12 (permalink)  
Antiguo 28/04/2008, 18:15
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Re: No encuentro la falla

Cita:
Iniciado por c_keeper Ver Mensaje
te vuelvo a decir lo del LIKE...
GRacias ya lo probe y el like no lo resuelve. alguna otra sugerencia para resolver el error 1054
  #13 (permalink)  
Antiguo 29/04/2008, 16:40
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Experto en php

Cita:
Iniciado por RicardoU Ver Mensaje
GRacias ya lo probe y el like no lo resuelve. alguna otra sugerencia para resolver el error 1054
Algun experto que me pueda dar un norte con este problema.?


gracias.-
  #14 (permalink)  
Antiguo 29/04/2008, 17:29
 
Fecha de Ingreso: febrero-2007
Mensajes: 450
Antigüedad: 17 años, 2 meses
Puntos: 3
Re: No encuentro la falla

$sql="select idUser from usuario where login="'.$txtUsuario.'" and password='".$txtPasswd."'";

$sql="select idUser from usuario where login like "'.$txtUsuario.'" and password like '".$txtPasswd."'";

Si ninguna de estas dos lineas funciona, tienes la tabla mal.

No es un tema para el que haga falta mucho conocimiento, eh.
  #15 (permalink)  
Antiguo 29/04/2008, 17:57
Avatar de milerweb  
Fecha de Ingreso: enero-2008
Ubicación: Lima peru
Mensajes: 81
Antigüedad: 16 años, 3 meses
Puntos: 1
Re: No encuentro la falla

NOVATONTOS! acaso no saben que en mysql o sql siempre tiene que ir la tabla al inicio de la consulta asi que reemplacen esto:

$sql="select idUser from usuario where login="'.$txtUsuario.'" and password='".$txtPasswd."'";

por esto:

$sql="select usuario.idUser from usuario where usuario.login="'.$txtUsuario.'" and password='".$txtPasswd."'";

pa su libro novatontos
  #16 (permalink)  
Antiguo 29/04/2008, 20:58
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Re: No encuentro la falla

Cita:
Iniciado por milerweb Ver Mensaje
NOVATONTOS! acaso no saben que en mysql o sql siempre tiene que ir la tabla al inicio de la consulta asi que reemplacen esto:

$sql="select idUser from usuario where login="'.$txtUsuario.'" and password='".$txtPasswd."'";

por esto:

$sql="select usuario.idUser from usuario where usuario.login="'.$txtUsuario.'" and password='".$txtPasswd."'";

pa su libro novatontos
gracias... pero esto no resolvio el problema

volvi a revisar las tablas y los campos existen tal cual, pero no encuentro la falla.
  #17 (permalink)  
Antiguo 29/04/2008, 22:06
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Re: No encuentro la falla

Cita:
Iniciado por RicardoU Ver Mensaje
gracias... pero esto no resolvio el problema

volvi a revisar las tablas y los campos existen tal cual, pero no encuentro la falla.


Muchas gracias a todos por su ayuda ya lo resolvi, faltaban unas comillas para separar todos los campos 'usuario.idUser'



gracias..
  #18 (permalink)  
Antiguo 30/04/2008, 07:22
 
Fecha de Ingreso: febrero-2007
Mensajes: 450
Antigüedad: 17 años, 2 meses
Puntos: 3
Re: No encuentro la falla

Cita:
Iniciado por milerweb Ver Mensaje
NOVATONTOS! acaso no saben que en mysql o sql siempre tiene que ir la tabla al inicio de la consulta asi que reemplacen esto:

$sql="select idUser from usuario where login="'.$txtUsuario.'" and password='".$txtPasswd."'";

por esto:

$sql="select usuario.idUser from usuario where usuario.login="'.$txtUsuario.'" and password='".$txtPasswd."'";

pa su libro novatontos
novatontos y todo lo que quieras, pero lo que dices no es cierto, eso solo es necesario al hacer una JOIN, si el campo está repetido, de lo contrario es opcional, y no tiene nada que ver.

porque siempre tienen que hablar para meter la pata hasta el fondo ? entendidos de los cojones..
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 18:29.