Foros del Web » Programando para Internet » PHP »

Cual es la forma correcta de hacer esta consulta

Estas en el tema de Cual es la forma correcta de hacer esta consulta en el foro de PHP en Foros del Web. Hola Estoy intendato hacer una consulta de la selecion de select dinamico y hasta ese momento todo esta bien, el selecte me presenta las campos ...
  #1 (permalink)  
Antiguo 13/08/2004, 08:39
 
Fecha de Ingreso: marzo-2002
Mensajes: 60
Antigüedad: 15 años, 9 meses
Puntos: 0
Cual es la forma correcta de hacer esta consulta

Hola Estoy intendato hacer una consulta de la selecion de select dinamico y hasta ese momento todo esta bien, el selecte me presenta las campos y me las esta enviado pero cuando la inserto a sql me presenta este error
Cita:
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in
y la verdad ya nose que hacer alguien podria ayudarme con esto aqui les presento como hago la consulta

Código PHP:
 $query_Notas "SELECT * FROM notas WHERE Ano ='".$_SESSION['Ano']."' And Mat ='".$_SESSION['Mat']."' And semestre ='".$_POST['semestre']."'"
Aqui les tambien les pongo el el formulario select
Código PHP:
<form action="<?=$_SERVER['PHP_SELF']?>" method="post" name="Semestre" id="Semestre">
              <input name="Send" type="submit" id="Send" value="Buscar:.">
              <select name="semestre" id="semestre">
                <option value='2-2003'>Selecione Semestre</option>
                <?php
do {  
?>
                <option value="<?php echo $row_Semestre['semestre']?>"><?php echo $row_Semestre['semestre']?></option>
                <?php
} while ($row_Semestre mysql_fetch_assoc($Semestre));
  
$rows mysql_num_rows($Semestre);
  if(
$rows 0) {
      
mysql_data_seek($Semestre0);
   
$row_Semestre mysql_fetch_assoc($Semestre);
  }
?>
por favor alguien podria ayudarme con esto es muy importante
__________________
Viva la Republica Dominicana
  #2 (permalink)  
Antiguo 13/08/2004, 09:48
AKB
 
Fecha de Ingreso: agosto-2004
Mensajes: 52
Antigüedad: 13 años, 4 meses
Puntos: 0
El error no parece darlo la consulta

$query_Notas = "SELECT * FROM notas WHERE Ano ='".$_SESSION['Ano']."' And Mat ='".$_SESSION['Mat']."' And semestre ='".$_POST['semestre']."'";

sino un mysql_free_result que seguramente tienes después de eso, prueba a eliminarlo. Si quieres, prueba antes a cambiar la consulta a esto:

$query_Notas = "SELECT * FROM notas WHERE Ano ='".$_SESSION["Ano"]."' And Mat ='".$_SESSION["Mat"]."' And semestre ='".$_POST["semestre"]."'";

Usando comilla doble en las variables de sesión, vamos.. asegúrate también que arreglas otro fallo: el formulario y el select tienen el mismo nombre, algo falla ahí.
  #3 (permalink)  
Antiguo 13/08/2004, 09:48
AKB
 
Fecha de Ingreso: agosto-2004
Mensajes: 52
Antigüedad: 13 años, 4 meses
Puntos: 0
También si en la bd los campos son numéricos no los compares como Ano ='".$_SESSION["Ano"]."' sino como Ano =".$_SESSION["Ano"]." , sin las comillas simples que indican texto.

Espero te sirva.
  #4 (permalink)  
Antiguo 13/08/2004, 10:02
 
Fecha de Ingreso: marzo-2002
Mensajes: 60
Antigüedad: 15 años, 9 meses
Puntos: 0
Hora recivo otro error

Gracias por tu rapida respuesta AKB pero ahora recivo otro error despues que cambie les quite las comillas simples. ya que todo lo demas lo ise no me funciona pero ahora me cambia el error este es
Cita:
You have an error in your SQL syntax near '' at line 1
Haber si me ayudan
__________________
Viva la Republica Dominicana
  #5 (permalink)  
Antiguo 13/08/2004, 10:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por AKB
También si en la bd los campos son numéricos no los compares como Ano ='".$_SESSION["Ano"]."' sino como Ano =".$_SESSION["Ano"]." , sin las comillas simples que indican texto.

Espero te sirva.
mmm al ser una variable externa .. hay más probabilidades de que intenten hacer un "SQL inyection" sin no usas comillas que si las usas, siendo el resultado de la consulta el mismo ... Yo uso siempre (sea el tipo que sea: cadena, numério) coma y no tengo problemas.

Un saludo,
  #6 (permalink)  
Antiguo 13/08/2004, 10:16
 
Fecha de Ingreso: marzo-2002
Mensajes: 60
Antigüedad: 15 años, 9 meses
Puntos: 0
gracias por tu respuesta cluster

Pero podria ayudarme con esto??
__________________
Viva la Republica Dominicana
  #7 (permalink)  
Antiguo 13/08/2004, 10:43
 
Fecha de Ingreso: marzo-2002
Mensajes: 60
Antigüedad: 15 años, 9 meses
Puntos: 0
Ya lo solucione

Ya pude solucionar el problema esta en en isset
gracias
__________________
Viva la Republica Dominicana
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 07:21.