Foros del Web » Programando para Internet » PHP »

Problema con query MySQL

Estas en el tema de Problema con query MySQL en el foro de PHP en Foros del Web. No sé por qué razón me falla este query: $results = mysql_query ("SELECT Pila.id_pila,Fitxes.* FROM Fitxes,Pila WHERE Pila.id_usuari = $id_pavo AND Pila.id_fitxa = Fitxes.id_fitxa ORDER ...
  #1 (permalink)  
Antiguo 13/09/2002, 05:02
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 15 años, 11 meses
Puntos: 17
Problema con query MySQL

No sé por qué razón me falla este query:
$results = mysql_query ("SELECT Pila.id_pila,Fitxes.* FROM Fitxes,Pila WHERE Pila.id_usuari = $id_pavo AND Pila.id_fitxa = Fitxes.id_fitxa ORDER BY Fitxes.id_fitxa") or die("Oops!");

Ayer funcionaba, no he modificado la BD, y hoy no va :(

He probado a hacer el query directamente contra MySQL-Front (sustituyendo $id_pavo por 2, porqué es el valor que se asignaba) y me ha dado el siguiente error:
Got error 28 from table hander.

¿Alguien tiene alguna idea de qué puede estar pasando?
Los otros queries a otras tablas aún me funcionan bien.

<div style="font:x-small Verdana;">Se está acercando...</div>
<div align="center" style="font:bold x-small Verdana;"><a style="text-decoration:none;" href="http://www.traduim.com" target="_blank">Traduim</a>: El portal de los traductores</div>
  #2 (permalink)  
Antiguo 13/09/2002, 05:49
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Re: Problema con query MySQL

Hola,

Para facilitar la depuracion, te recomendaria que cambies die(&quot;Ooops&quot;) por die(mysql_error()). Te dara un mensaje mas descriptivo del error.

Ademas, si dices que ayer te funcionaba y tu no has cambiado la BD ni nada del codigo anterior a esa linea, puede ser que lo que se ha cambiado es el software/configuracion del servidor.

Espero haberte ayudado a acercarte a la solucion.


Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 13/09/2002, 05:53
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 15 años, 11 meses
Puntos: 17
Re: Problema con query MySQL

Gracias por la idea
El error que devuelve sigue siendo:
Got error 28 from table handler

Será algún problema de MySQL, porque en una base idéntica en otro servidor si me funciona <img src='images/tongue.gif' width=15 height=15 align=middle>

Gracias por la ayuda

<div style="font:x-small Verdana;">Se está acercando...</div>
<div align="center" style="font:bold x-small Verdana;"><a style="text-decoration:none;" href="http://www.traduim.com" target="_blank">Traduim</a>: El portal de los traductores</div>
  #4 (permalink)  
Antiguo 13/09/2002, 08:03
 
Fecha de Ingreso: septiembre-2002
Mensajes: 38
Antigüedad: 15 años, 3 meses
Puntos: 0
Re: Problema con query MySQL

l'error 28 a mysql significa DISK FULL
si te puede orientar en algo!!!

a10
  #5 (permalink)  
Antiguo 13/09/2002, 09:02
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Re: Problema con query MySQL

Hola,
He hecho un poco de investigacion en phpbuilder y he encontrado estos dos mensajes <a href='ir.asp?http://www.phpbuilder.com/board/showthread.php?threadid=10209437&amp;highlight=err or+28' target='_blank'>http://www.phpbuilder.com/board/showthre...</a> y <a href='ir.asp?http://www.phpbuilder.com/board/showthread.php?threadid=10209393&amp;highlight=err or+28' target='_blank'>http://www.phpbuilder.com/board/showthre...</a> que son exactos al nuestro.
Tienes razon, el error 28 el disco lleno. Y creo que soy capaz de explicar porque sucede con tu select y no con tus demas consultas.
Al hacer un select con dos tablas con la forma &quot;from tabla1,tabla2&quot; estas forzando a que mysql cree una tabla temporal que posee (numero_columnas_tabla1+numero_columnas_tabla2) columnas y que tiene (numero_registros_tabla1 x numero_registros_tabla2 ) registros. Si la tabla1 tiene 10 campos y 1000 registros y la tabla2 tiene 5 campos y 50 registros, la tabla temporal tendra 15 campos y 50000 registros. El tamaño real en disco duro dependera del tipo y tamaño de los campos, pero es facil comprender que posiblemente sea un tamaño importante.
Supongo que mysql usara ficheros temporales para almacenar esas tablas temporales, con lo cual si la tabla temporal es muy grande, no habra espacio en el disco duro para esa tabla y dara el error 28.
No se si con esto esta claro el por que.


Josemi

Aprendiz de mucho, maestro de poco.
  #6 (permalink)  
Antiguo 13/09/2002, 09:34
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 15 años, 11 meses
Puntos: 17
Re: Problema con query MySQL

Pues ahora queda todo claro :P
Muchas gracias a los dos!


<div style=font:x-small Verdana;>Proximamente...</div>
<div align=center style="font:bold x-small Verdana;"><a style=text-decoration:none; href=http://www.traduim.com target=_blank>Traduim</a>: El portal de los traductores</div>
  #7 (permalink)  
Antiguo 13/09/2002, 10:26
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 16 años
Puntos: 68
Re: Problema con query MySQL

Porque no intentas reformular tu Query de una manera más eficiente ?

$results = mysql_query (&quot;SELECT p.id_pila, f.* FROM Fitxes f INNER JOIN Pila p USING (id_fitxa) WHERE p.id_usuari = $id_pavo ORDER BY f.id_fitxa&quot;) or die(&quot;Oops!&quot;);

saludos.
  #8 (permalink)  
Antiguo 13/09/2002, 10:36
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 15 años, 11 meses
Puntos: 17
Re: Problema con query MySQL

Ya solucioné el problema, resulta que se había llenado el disco de unas pruebas que estuve realizando ayer, y por eso no &quot;cabía&quot; el query


<div style=font:x-small Verdana;>Proximamente...</div>
<div align=center style="font:bold x-small Verdana;"><a style=text-decoration:none; href=http://www.traduim.com target=_blank>Traduim</a>: El portal de los traductores</div>
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:10.