Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/10/2007, 16:51
g-lee-p
 
Fecha de Ingreso: octubre-2007
Mensajes: 1
Antigüedad: 17 años, 4 meses
Puntos: 0
ayuda con php-mysql

tengo un problema, resulta que estoy haciendo un tipo de consulta avanzada, e hice un pequeño algoritmo que me genera una cadena llamada $sentencia.

si tecleo echo $sentencia;
el resultado es el siguiente:

SELECT p_datosp.CODIGO, p_datosp.APELLIDOP, p_datosp.APELLIDOM, p_datosp.NOMBRE1, p_datosp.NOMBRE2 FROM p_datosp INNER JOIN (p_datosf INNER JOIN (p_perfil INNER JOIN (p_rating )ON p_perfil.CODIGO = p_rating.CODIGO AND p_rating.RATING = '$RATING' )ON p_datosf.CODIGO = p_perfil.CODIGO AND p_perfil.M4 = '$P4' )ON p_datosp.CODIGO = p_datosf.CODIGO AND p_datosf.TALLA = '$TALLA' AND p_datosp.NACIONALIDAD = '$NACIONALIDAD'

$consulta = mysql_query($sentencia); no me genera ningun error de mysql, pero sencillamente no hay resultados en la consulta.

ahora, si hago lo siguiente:

$consulta = mysql_query(" SELECT p_datosp.CODIGO, p_datosp.APELLIDOP, p_datosp.APELLIDOM, p_datosp.NOMBRE1, p_datosp.NOMBRE2 FROM p_datosp INNER JOIN (p_datosf INNER JOIN (p_perfil INNER JOIN (p_rating )ON p_perfil.CODIGO = p_rating.CODIGO AND p_rating.RATING = '$RATING' )ON p_datosf.CODIGO = p_perfil.CODIGO AND p_perfil.M4 = '$P4' )ON p_datosp.CODIGO = p_datosf.CODIGO AND p_datosf.TALLA = '$TALLA' AND p_datosp.NACIONALIDAD = '$NACIONALIDAD' ");

esto funciona perfectamente, y no entiendo donde esta mi error.
lo malo es que por fuerza la variable sentencia tiene que cambiar dependiendo de los datos que me pida el usuario, he comprobado varias veces y las cadenas que estoy generando en $sentecia son correctas :s.

desde luego que antes de esta sentencia hice la conexion a la base de datos:

$conexion = mysql_connect('servidor', 'usuario', 'pasword');
mysql_select_db('basededatos', $conexion);

despues la consulta:

$consulta = mysql_query($sentencia); or die (mysql_error());

y despues la impresion de resultados.

if ($consulta){
while ($registro = mysql_fetch_array($consulta)) {
$CODIGO1 = $registro['CODIGO']; $APELLIDOP1 = $registro['APELLIDOP']; $APELLIDOM1 = $registro['APELLIDOM'];
$NOMBRE11 = $registro['NOMBRE1']; $NOMBRE12 = $registro['NOMBRE2'];
echo "<tr>
<td width='20%' align = center>
$CODIGO1
</td>
<td><p class='comment'><a href='./p_consultaesp.php?VAR=$CODIGO1' target='_blank'>
$NOMBRE11 &nbsp; $NOMBRE12 &nbsp; $APELLIDOP1 &nbsp; $APELLIDOM1
</a></p></td>
</tr>";
}
mysql_free_result($consulta);
}
else echo "no hubo consulta";

ojala puedan ayudarme, gracias...

Última edición por g-lee-p; 22/10/2007 a las 17:02