Foros del Web » Programando para Internet » PHP »

Ayuda al llamar un index

Estas en el tema de Ayuda al llamar un index en el foro de PHP en Foros del Web. Saludos FOROSDELWEB; Tengo un pqueño problema al llamar el index de Id en mysql me da un error; $conexion = mysql_connect(".......","....","......."); mysql_select_db(comprar,$conexion); $resultadox = mysql_query("SELECT ...
  #1 (permalink)  
Antiguo 14/06/2003, 12:29
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 15 años, 1 mes
Puntos: 4
Ayuda al llamar un index

Saludos FOROSDELWEB;

Tengo un pqueño problema al llamar el index de Id en mysql me da un error;

$conexion = mysql_connect(".......","....",".......");
mysql_select_db(comprar,$conexion);
$resultadox = mysql_query("SELECT * FROM Material WHERE (Id = $numId)", $conexion);
$numx = mysql_num_rows($resultadox);

for ($x=0;$x<$numx;$x++){
$XSUB = mysql_result($resultadox,$x,2);

}
$Sub = $XSUB;
mysql_close($conexion);



Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in d:\server\tmpubdbhghd1m.php on line 7
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #2 (permalink)  
Antiguo 14/06/2003, 12:39
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Creo que aqui esta el error...

$conexion = mysql_connect(".......","....",".......");
mysql_select_db("comprar",$conexion);
$resultadox = mysql_query("SELECT * FROM Material WHERE (Id = $numId)", $conexion);
$numx = mysql_num_rows($resultadox);

Ya que el error te esta queriendo decir que el query no es válido...

__________________
Manoloweb
  #3 (permalink)  
Antiguo 14/06/2003, 12:42
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 15 años, 1 mes
Puntos: 4
Hola,

el nombre de mi base es correcto, ya que si elimino el WHERE que me busque solo los resultados de mi Id, ya que Id es un index me manda el error?

No tendría ningún problema al llamarla al ser Index?

Saludos
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #4 (permalink)  
Antiguo 14/06/2003, 12:51
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
No, no deberia haber ningun problema...

Que clase de index es? es un iINT auto_increment, o es algun VARCHAR que tu creaste y le diste la propiedad de Index?
__________________
Manoloweb
  #5 (permalink)  
Antiguo 14/06/2003, 12:52
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 15 años, 1 mes
Puntos: 4
es un INT auto_increment
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #6 (permalink)  
Antiguo 14/06/2003, 12:52
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Por cierto... para que le pones los parentesis en el WHERE?
__________________
Manoloweb
  #7 (permalink)  
Antiguo 14/06/2003, 12:54
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 15 años, 1 mes
Puntos: 4
Bueno si no me sirve de nada aunque no tiene ningun error con ellos, nunca me lo a producido.
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #8 (permalink)  
Antiguo 14/06/2003, 12:59
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Bueno, en tal caso TODO parece estar como debiera...

Ahora solo te falta hacer un DEBUG.

1.-Que valor REAL trae la variable $numId?
2.- Si es una variable de Querystring, por que no la llamas con $_GET["numId"]?
3.- Tu campo se llama Id ó ID ó id en la base de datos?
4.- Has una prueba quitando los parentesis del WHERE..

etc...

5.- Por que no haces una prueba tambien cambiando la variavle por un numero que tu sepas que existe?, por ejemplo:

$resultadox = mysql_query("SELECT * FROM Material WHERE Id = 2", $conexion);
__________________
Manoloweb
  #9 (permalink)  
Antiguo 14/06/2003, 13:02
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 15 años, 1 mes
Puntos: 4
Exacto es lo que habia hecho ponerlo sin variable, pero me resulta que el error me probiene del Id que es el nombre de mi tabla que es INT auto_increment y lo pongo sín '' por ser un campo numérico y autoincrementable Where Id = 2

Pero me sale el error.
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #10 (permalink)  
Antiguo 14/06/2003, 13:57
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 15 años, 9 meses
Puntos: 54
¿Probaste esto?
Código PHP:
$consulta="SELECT * FROM Material WHERE (Id=".$numId.")";
$resultadox mysql_query($consulta$conexion); 
__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.
  #11 (permalink)  
Antiguo 14/06/2003, 14:04
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Usando la funcion mysql_error() muestra el mensaje de error:
Código PHP:
 $resultadox mysql_query("SELECT * FROM Material WHERE (Id = $numId)"$conexion) or die(mysql_error()); 
Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 13:20.