Foros del Web » Programando para Internet » PHP »

Fallo en el where en una consulta

Estas en el tema de Fallo en el where en una consulta en el foro de PHP en Foros del Web. Mi idea es a sacar los datos del carro dependiendo el usuario pero me da ese error y nose porque, gracias CODIGO if (isset($_SESSION['MM_Username'])) { ...
  #1 (permalink)  
Antiguo 23/09/2012, 16:45
 
Fecha de Ingreso: abril-2012
Mensajes: 42
Antigüedad: 12 años, 6 meses
Puntos: 1
Fallo en el where en una consulta

Mi idea es a sacar los datos del carro dependiendo el usuario pero me da ese error y nose porque, gracias

CODIGO

if (isset($_SESSION['MM_Username'])) {
$user_historialCarro = (get_magic_quotes_gpc()) ? $_SESSION['MM_Username'] : addslashes($_SESSION['MM_Username']);
}
mysql_select_db($database_tiendaTapizados, $tiendaTapizados);
$query_carro = "SELECT * FROM carro WHERE carro.transaccionEfectuada = 0 AND carro.idUsuario ='". $_SESSION['MM_Username']. "'";
$carro = mysql_query($query_carro, $tiendaTapizados) or die(mysql_error());
$row_carro = mysql_fetch_assoc($carro);
$totalRows_carro = mysql_num_rows($carro);

ERROR

Unknown column 'xus' in 'where clause'
  #2 (permalink)  
Antiguo 23/09/2012, 16:50
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: Fallo en el where en una consulta

el error es claro, revisa la tabla con la que trabajas, dado que el mensaje te está diciendo que la columna "xus" es "desconocida" o en otras palabras no existe en tu tabla
  #3 (permalink)  
Antiguo 23/09/2012, 17:00
 
Fecha de Ingreso: abril-2012
Mensajes: 42
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: Fallo en el where en una consulta

Cita:
Iniciado por rodrigo791 Ver Mensaje
el error es claro, revisa la tabla con la que trabajas, dado que el mensaje te está diciendo que la columna "xus" es "desconocida" o en otras palabras no existe en tu tabla
No es por eso, por eso llevo esta rallada tan grande debido a que si que existe en la tabla.

Es la tabla carro donde producto lo compra una persona y me sale el nombre tres veces al comprar tres productos distintos.

Alguna idea??

gracias
  #4 (permalink)  
Antiguo 23/09/2012, 17:11
 
Fecha de Ingreso: abril-2012
Mensajes: 42
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: Fallo en el where en una consulta

Aporto mas datos, el usuario xus es el que esta conectado a la pagina web y compra o consulta su historial de compras y al usar mm_username como arriba esta puesto pues me dice que es desconocida... y nose porque debido a que en la tabla existe el nombre del usuario
  #5 (permalink)  
Antiguo 23/09/2012, 17:16
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: Fallo en el where en una consulta

Unknown column 'xus' in 'where clause'

Estás seguro que pusiste bien la consulta en la cual tenes el error? porque los mensajes del motor de la BD no devuelve mentiras.
Se me hace extraño que te diga que no existe una columna xus en tu tabla cuando nunca nombraste xus en tu consulta como columna, estoy dudando de si en realidad tu error está en esa sentencia sql o en otra que no has publicado.

Unknown column 'xus' in 'where clause'
  #6 (permalink)  
Antiguo 23/09/2012, 17:21
 
Fecha de Ingreso: abril-2012
Mensajes: 42
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: Fallo en el where en una consulta

Cita:
Iniciado por rodrigo791 Ver Mensaje
Unknown column 'xus' in 'where clause'

Estás seguro que pusiste bien la consulta en la cual tenes el error? porque los mensajes del motor de la BD no devuelve mentiras.
Se me hace extraño que te diga que no existe una columna xus en tu tabla cuando nunca nombraste xus en tu consulta como columna, estoy dudando de si en realidad tu error está en esa sentencia sql o en otra que no has publicado.

Unknown column 'xus' in 'where clause'

No solo me pasa con 'xus' me pasa con cualquier usuario que accedo y miro mi carro me da le mismo error y en listaCarrito.php solo tengo una consulta de usuario, esta y la de historial de pedidos , es mas , cuando inserto el registro al carrito con esa variable me lo ingresa bien y me guarda el nombre del usuario conectado, me imagino ke no miente pero no encuentro la causa

La consulta de usuarios lo hago para conexión, es decir, para que entre como usuario en la pagina web.

Y luego muestro la información del carro y del historial.

Última edición por jediap; 23/09/2012 a las 17:23 Razón: añadir mas
  #7 (permalink)  
Antiguo 23/09/2012, 17:24
 
Fecha de Ingreso: abril-2012
Mensajes: 42
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: Fallo en el where en una consulta

Te pongo el codigo php completo de la pagina

<?php require_once('Connections/tiendaTapizados.php'); ?>
<?php
mysql_select_db($database_tiendaTapizados, $tiendaTapizados);
$query_usuario = "SELECT * FROM usuario ORDER BY usuario.idUsuario";
$usuario = mysql_query($query_usuario, $tiendaTapizados) or die(mysql_error());
$row_usuario = mysql_fetch_assoc($usuario);
$totalRows_usuario = mysql_num_rows($usuario);
?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}

$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset($_POST['email'])) {
$loginUsername=$_POST['email'];
$password=$_POST['password'];
$MM_fldUserAuthorization = "";
$MM_redirectLoginSuccess = "accesoOK.php";
$MM_redirectLoginFailed = "accesoNo.php";
$MM_redirecttoReferrer = true;
mysql_select_db($database_tiendaTapizados, $tiendaTapizados);

$LoginRS__query=sprintf("SELECT email, password FROM usuario WHERE email='%s' AND password='%s'",
get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));

$LoginRS = mysql_query($LoginRS__query, $tiendaTapizados) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {
$loginStrGroup = "";

//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;

if (isset($_SESSION['PrevUrl']) && true) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>

<?php
function obtenerNombreProducto($identificador)
{
global $database_tiendaTapizados, $tiendaTapizados;
mysql_select_db($database_tiendaTapizados, $tiendaTapizados);
$query_consultaFuncion = sprintf("SELECT nombre FROM producto WHERE idProducto = %s",$identificador);
$consultaFuncion = mysql_query($query_consultaFuncion, $tiendaTapizados) or die(mysql_error());
$row_consultaFuncion = mysql_fetch_assoc($consultaFuncion);
$totalRows_consultaFuncion = mysql_num_rows($consultaFuncion);

echo $row_consultaFuncion['nombre'];
mysql_free_result($consultaFuncion);
}

function obtenerIVA()
{
global $database_tiendaTapizados, $tiendaTapizados;
mysql_select_db($database_tiendaTapizados, $tiendaTapizados);
$query_consultaFuncion =("SELECT iva FROM iva WHERE intCont = 1");
$consultaFuncion = mysql_query($query_consultaFuncion, $tiendaTapizados) or die(mysql_error());
$row_consultaFuncion = mysql_fetch_assoc($consultaFuncion);
$totalRows_consultaFuncion = mysql_num_rows($consultaFuncion);

echo $row_consultaFuncion['iva'];
mysql_free_result($consultaFuncion);
}

?>


<?php
$user_carro = "0";
if (isset($_SESSION['MM_Username'])) {
$user_historialCarro = (get_magic_quotes_gpc()) ? $_SESSION['MM_Username'] : addslashes($_SESSION['MM_Username']);
}
mysql_select_db($database_tiendaTapizados, $tiendaTapizados);
$query_carro = "SELECT * FROM carro WHERE carro.transaccionEfectuada = 0 AND carro.idUsuario ='". $_SESSION["MM_Username"]. "'";
$carro = mysql_query($query_carro, $tiendaTapizados) or die(mysql_error());
$row_carro = mysql_fetch_assoc($carro);
$totalRows_carro = mysql_num_rows($carro);
echo $_SESSION['MM_Username'];
echo $query_carro ;
$user_historialCarro = "0";
if (isset($_SESSION['MM_Username'])) {
$user_historialCarro = (get_magic_quotes_gpc()) ? $_SESSION['MM_Username'] : addslashes($_SESSION['MM_Username']);
}
mysql_select_db($database_tiendaTapizados, $tiendaTapizados);
$query_historialCarro = sprintf("SELECT * FROM carro WHERE carro.transaccionEfectuada=1 AND carro.idUsuario = %s", $user_historialCarro);
$historialCarro = mysql_query($query_historialCarro, $tiendaTapizados) or die(mysql_error());
$row_historialCarro = mysql_fetch_assoc($historialCarro);
$totalRows_historialCarro = mysql_num_rows($historialCarro);
echo $totalRows_historialCarro;
?>
  #8 (permalink)  
Antiguo 23/09/2012, 17:26
 
Fecha de Ingreso: diciembre-2011
Mensajes: 159
Antigüedad: 12 años, 11 meses
Puntos: 18
Respuesta: Fallo en el where en una consulta

Hola

estas seguro que en la columna carro.idUsuario es donde debe de leerse el nombe de usuario, por que como pones ID me imagino que es un numero de id no un nombre.

Saludos
  #9 (permalink)  
Antiguo 23/09/2012, 17:27
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: Fallo en el where en una consulta

La verdad, es raro ese error tuyo, pero algo a comentar es que
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}


session_start SIEMPRE luego de <?php ... es lo primero que tenes que poner siempre
  #10 (permalink)  
Antiguo 23/09/2012, 17:28
 
Fecha de Ingreso: abril-2012
Mensajes: 42
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: Fallo en el where en una consulta

Cita:
Iniciado por nestornoe Ver Mensaje
Hola

estas seguro que en la columna carro.idUsuario es donde debe de leerse el nombe de usuario, por que como pones ID me imagino que es un numero de id no un nombre.

Saludos
Nono, el idUsuario es un varchar no un int,
  #11 (permalink)  
Antiguo 23/09/2012, 17:29
 
Fecha de Ingreso: diciembre-2011
Mensajes: 159
Antigüedad: 12 años, 11 meses
Puntos: 18
Respuesta: Fallo en el where en una consulta

Cita:
Iniciado por jediap Ver Mensaje
Nono, el idUsuario es un varchar no un int,
Ya probaste a hacer un echo de las variables a ver que esta recogiendo?
  #12 (permalink)  
Antiguo 23/09/2012, 17:32
 
Fecha de Ingreso: abril-2012
Mensajes: 42
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: Fallo en el where en una consulta

Cita:
Iniciado por nestornoe Ver Mensaje
Ya probaste a hacer un echo de las variables a ver que esta recogiendo?
Si, este es el eco

echo mm_username

xxx

echo consulta

SELECT * FROM carro WHERE carro.transaccionEfectuada = 0 AND carro.idUsuario ='xxx'

error

Unknown column 'xxx' in 'where clause'
  #13 (permalink)  
Antiguo 23/09/2012, 17:33
 
Fecha de Ingreso: diciembre-2011
Mensajes: 159
Antigüedad: 12 años, 11 meses
Puntos: 18
Respuesta: Fallo en el where en una consulta

La session_start(); es lo primero que debe estar en la pagina, si no, no te esta recogiendo $_SESSION["MM_Username"]

Saludos
  #14 (permalink)  
Antiguo 23/09/2012, 17:34
 
Fecha de Ingreso: diciembre-2011
Mensajes: 159
Antigüedad: 12 años, 11 meses
Puntos: 18
Respuesta: Fallo en el where en una consulta

Bueno

Trata con un nombre de usuario no con el de sesion

SELECT * FROM carro WHERE carro.transaccionEfectuada = 0 AND carro.idUsuario ='nombre_de_usuario'

que te dice?
  #15 (permalink)  
Antiguo 23/09/2012, 17:37
 
Fecha de Ingreso: abril-2012
Mensajes: 42
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: Fallo en el where en una consulta

Cita:
Iniciado por nestornoe Ver Mensaje
Bueno

Trata con un nombre de usuario no con el de sesion

SELECT * FROM carro WHERE carro.transaccionEfectuada = 0 AND carro.idUsuario ='nombre_de_usuario'

que te dice?
$query_carro = "SELECT * FROM carro WHERE carro.transaccionEfectuada = 0 AND carro.idUsuario = xxx";

me da el mismo error, y lo de session start ya esta puesto y nada

Lo gracioso que en el phpmyadmin si me funciona.

¿ PORQUE ?

Lo que no me pase a mi xd
  #16 (permalink)  
Antiguo 23/09/2012, 17:45
 
Fecha de Ingreso: abril-2012
Mensajes: 42
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: Fallo en el where en una consulta

SOLUCIONADO


Le puesto el sprintf delante de las consultas y ya funciona

Muchas gracias a los dos por intentar ayudarme.
  #17 (permalink)  
Antiguo 23/09/2012, 17:47
 
Fecha de Ingreso: diciembre-2011
Mensajes: 159
Antigüedad: 12 años, 11 meses
Puntos: 18
Respuesta: Fallo en el where en una consulta

Bueno

esta bien escrito idUsuario, mayusculas y minusculas

trata con

$query_carro = "SELECT * FROM carro WHERE transaccionEfectuada = 0 AND idUsuario = xxx";
  #18 (permalink)  
Antiguo 23/09/2012, 17:49
 
Fecha de Ingreso: diciembre-2011
Mensajes: 159
Antigüedad: 12 años, 11 meses
Puntos: 18
Respuesta: Fallo en el where en una consulta

Cuando pones

echo $query_carro ;

que te muestra?
  #19 (permalink)  
Antiguo 23/09/2012, 17:50
 
Fecha de Ingreso: abril-2012
Mensajes: 42
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: Fallo en el where en una consulta

Cita:
Iniciado por nestornoe Ver Mensaje
Bueno

esta bien escrito idUsuario, mayusculas y minusculas

trata con

$query_carro = "SELECT * FROM carro WHERE transaccionEfectuada = 0 AND idUsuario = xxx";
Ya esta solucionado lo he pusto en el POST de arriba tuyo

Muchas gracias

Etiquetas: fallo, mysql, sql, 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 21:23.