Ver Mensaje Individual
  #6 (permalink)  
Antiguo 25/01/2009, 17:52
Avatar de gnzsoloyo
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, 5 meses
Puntos: 2658
Respuesta: utilizar varibales de sesion para consulta mysql

Lo importante cuando se programan consultas es no tener en cuenta lo que se muestra en PHP, sino lo que finalmente queda como consulta que el MySQL recibirá.
Por eso, en esta sección no se debe poner código PHP o de cualquier otra índole, sino sólo SQL (Función de la sección de Base de Datos). A priori, no es posible saber si las cadenas de texto que conforman las sentencias de SQL se están cargando bien, porque hay mucho PHP ensuciando el SQL... y puede haber errores allí que resulten invisibles, escondidos en las variables.

Veamos el caso, esto:
Cita:
<? $usuario = $_SESSION['MM_Usarname'];?>
<?php
mysql_select_db($database_general, $general);
$query_Tareas_Pendientes = "SELECT * FROM general WHERE afectado=$usuario;";
$Tareas_Pendientes = mysql_query($query_Tareas_Pendientes, $general) or die(mysql_error());
$row_Tareas_Pendientes = mysql_fetch_assoc($Tareas_Pendientes);
$totalRows_Tareas_Pendientes = mysql_num_rows($Tareas_Pendientes);
?>
contiene solamente esta información útil:
Código:
SELECT * FROM general WHERE afectado=$usuario;
El resto es asunto de programación en PHP.
Pero en este caso, notemos, nos dice que hay un error de sintaxis. Ahora bien, la sentencia es ANSI SQL correctamente escrito, por lo que funciona en todos los DBMS, de modo que no puede ser esa estructura la que falle. Solamente puede ser la variable.
Pero: ¿Qué contiene la variable $usuario? Yo no lo sé, puede que esté bien, que tenga palabras reservadas o que venga vacía. Y en este último caso, la consulta fallará siempre.
Es muy posible que lo que pase sea que (como ya lo dijo Genetix), no estén los apóstrofes necesarios para encerrar una cadena de texto en SQL. Yo personalmente me inclino a pensar que la variable esta vacía, porque de lo contrario el error sería de campo desconocido en la sentencia... Pero eso es asunto de programación PHP.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)