Foros del Web » Programando para Internet » PHP »

error en mysql_fetch_array()

Estas en el tema de error en mysql_fetch_array() en el foro de PHP en Foros del Web. Amigos, ando con un script, el cual me funcionaba de maravilla: pero al cambiar de tabla para tratar de hacer insert en dicha tabla me ...
  #1 (permalink)  
Antiguo 25/12/2011, 21:28
Avatar de ZoroRoronoa  
Fecha de Ingreso: marzo-2011
Ubicación: California, USA
Mensajes: 824
Antigüedad: 13 años
Puntos: 116
error en mysql_fetch_array()

Amigos, ando con un script, el cual me funcionaba de maravilla:
pero al cambiar de tabla para tratar de hacer insert en dicha tabla me da errores.

Resulta que hago un select para ver el ultimo "id" y asi, poder registrar los nuevos "registros con un id diferente (+1)

como mencione, antes no tenia problema con una tabla (y sigo sin tenerla) pero ahora con la nueva tabla me da este error de WARNING, unespexted 1 boolean give, o algo asi.
Para ser exactos, este error.
Cita:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\kuro\ex1\script\uno.php on line 25
Y uso esto:

Código PHP:
$query mysql_query("SELECT VID FROM video ORDER BY id DESC limit 1");
    while(
$row mysql_fetch_array($query)) {
        
$ultimo $row[0];
    } 
como mencione,se me hace raro, ya que con una tabla si me funciona, y con la otra no.

*No es problema de BD ni nombre de campos o tabla, porque sin HACER LA CONSULTA y agregar un nuevo registro (poniendo los valores manualmente)

si me corre el script sin problemas.

una manita
__________________
Programador jQuery & PHP
  #2 (permalink)  
Antiguo 25/12/2011, 21:32
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: error en mysql_fetch_array()

bueno si lo miras bien si es problema de diseño de DB si es un campo ID y es auto incremento porque no especificarlo directo en el diseño de base de datos y ahorrarte estar sumando tu mismo esto??, que error te da?? porque la consulta no se ve mal y el código que colocas tampoco, has la depuración de tu codigo
Código PHP:
Ver original
  1. mysql_query(/*tu consulta*/) or die(mysql_error());
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 25/12/2011, 21:33
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: error en mysql_fetch_array()

Si es un sólo registro lo que estás consultando sobra el while. Cambía esta línea para saber Mysql que error está dando.

Código PHP:
Ver original
  1. $query = mysql_query("SELECT VID FROM video ORDER BY id DESC limit 1") or die(mysql_error());

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #4 (permalink)  
Antiguo 26/12/2011, 10:04
Avatar de ZoroRoronoa  
Fecha de Ingreso: marzo-2011
Ubicación: California, USA
Mensajes: 824
Antigüedad: 13 años
Puntos: 116
Respuesta: error en mysql_fetch_array()

No me arroja nada.
Y he creado en phpmyadmin otra tabla igual, con mismo campos, misma config, etc etc... y si me funciona.

Lo que sucede, es que la 'tabla' que me da problemas, fue importada, me la pasaron, creen que se deba a eso.
Que tenga "algo" por allí, esa dichosa tabla, que no me permita hacer la consulta adecuadamente.

Bueno Gracias a ambos por responder.
__________________
Programador jQuery & PHP
  #5 (permalink)  
Antiguo 26/12/2011, 10:29
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: error en mysql_fetch_array()

es algo extraño lo que indicas porque casi siempre que da ese tipo de warning es por error de la consulta SQL, aunque lo que dices es aun mas extraño estas seguro que cuando importas la tabla esta se importa de manera correcta, creo que una vez me estuvo pasando una situación igual y el problema era cuando importaba las tablas ya que cuando comencé con esto trabajaba también en XAMPP y la persona que me inicio me dijo que copiando los frm de la carpeta data era suficiente y no es así, ahora revisa que cuando hagas una consulta en el PHPMYADMIN a esa tabla te de resultados, porque si es así lo que tienes es que volver a importar esta tabla, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #6 (permalink)  
Antiguo 26/12/2011, 10:34
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 12 años, 11 meses
Puntos: 76
Respuesta: error en mysql_fetch_array()

hola

creo que en la consulta el limit es asi:

$query = mysql_query("SELECT VID FROM video ORDER BY id DESC limit 0,1");
  #7 (permalink)  
Antiguo 26/12/2011, 12:44
Avatar de ZoroRoronoa  
Fecha de Ingreso: marzo-2011
Ubicación: California, USA
Mensajes: 824
Antigüedad: 13 años
Puntos: 116
Respuesta: error en mysql_fetch_array()

Nada funciona...

Y si, el error me lo da en la consulta.
Pues con la misma tabla ingresando datos o actualizando (INSERT / UPDATE) no me da problemas.

Y lo de la consulta es raro, porque he creado una tabla con los mismo campos y en esta tabla SI ME HACE LA CONSULTA...

Que raro...
__________________
Programador jQuery & PHP
  #8 (permalink)  
Antiguo 26/12/2011, 13:42
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 12 años, 11 meses
Puntos: 76
Respuesta: error en mysql_fetch_array()

hola

ya ejecutaste la consulta en la consola haber si te corre, porque puede ser un problema de sintaxis en el query

de lo contrario muestra el codigo php nuevamente.
  #9 (permalink)  
Antiguo 26/12/2011, 14:54
Avatar de ZoroRoronoa  
Fecha de Ingreso: marzo-2011
Ubicación: California, USA
Mensajes: 824
Antigüedad: 13 años
Puntos: 116
Respuesta: error en mysql_fetch_array()

El problema no esta ni en el query ni en el php.

-Empecemos de nuevo...
Me pasaron una tabla exportada.
La subi a phpmyadmin
y al hacer la consulta me da este error.

-Yo he creado una nueva tabla (igual, con los mismo campos, mismos keys, mismos atributos etc etc...)
Y aqui si me hace la consulta perfecta.

En ambos uso lo mismo.
Asi que he decistido por que el error esta en la tabla (algo raro)
Ademas no soy experto en MYSQL, por lo que, creo que esto asi quedé.

Ya no puedo avanzar con esta tabla, mejor inicio la nueva.

Aun asi gracias a todos por tratar de ayudar.
__________________
Programador jQuery & PHP
  #10 (permalink)  
Antiguo 26/12/2011, 16:32
 
Fecha de Ingreso: abril-2008
Mensajes: 88
Antigüedad: 16 años
Puntos: 5
Respuesta: error en mysql_fetch_array()

talvez esto te ayude:
http://dev.mysql.com/doc/refman/5.0/...last-insert-id

Mysql ya tiene una funcion para devolver el ultimo valor ingresado en tu campo de primary_key.

podrias modificar tu query para que quede asi:
$query = mysql_query("SELECT LAST_INSERT_ID()");
$last = mysql_fetch_array($query);
$ultimo = $row[0];

ademas me parece una mejor practica.
  #11 (permalink)  
Antiguo 26/12/2011, 17:48
Avatar de ZoroRoronoa  
Fecha de Ingreso: marzo-2011
Ubicación: California, USA
Mensajes: 824
Antigüedad: 13 años
Puntos: 116
Respuesta: error en mysql_fetch_array()

Gracias @juanjoseab.
Si, igual me sigue funcionando en mi tabla, pero no en la exportada...

Como que esa tabla tiene algo contra los SELECT (porque los UPDATEs e INSERTs, si los funca bien).

Saludos.
__________________
Programador jQuery & PHP
  #12 (permalink)  
Antiguo 26/12/2011, 19:26
Avatar de ElSiniestro  
Fecha de Ingreso: diciembre-2011
Ubicación: Ibagué
Mensajes: 115
Antigüedad: 12 años, 4 meses
Puntos: 23
Respuesta: error en mysql_fetch_array()

Hola
ZoroRoronoa, si el código que muestras ahí es el que estás usando en tu script, el problema está en que no pasas el vínculo (identificador de conexión) como parámetro a mysql_query

Código PHP:
Ver original
  1. $query= mysql_query($vinculo, "SELECT etc...");


(Recomendación: Hey, pásate a usar mysqli)
  #13 (permalink)  
Antiguo 26/12/2011, 20:17
Avatar de ZoroRoronoa  
Fecha de Ingreso: marzo-2011
Ubicación: California, USA
Mensajes: 824
Antigüedad: 13 años
Puntos: 116
Respuesta: error en mysql_fetch_array()

Cita:
Iniciado por ElSiniestro Ver Mensaje
Hola
ZoroRoronoa, si el código que muestras ahí es el que estás usando en tu script, el problema está en que no pasas el vínculo (identificador de conexión) como parámetro a mysql_query

Código PHP:
Ver original
  1. $query= mysql_query($vinculo, "SELECT etc...");


(Recomendación: Hey, pásate a usar mysqli)
Es increible como llega alguien, creyendo saberlo... Y aparte califica negativo...
Te dare las gracias por tu respuesta, pero ese vinculo que dices, si mal no estoy, seria colocar la variable que contiene la base de datos seleccionada.

mysql_query($query, $database);

Bueno, pues yo ya he seleccionado mi base, por lo que no requiere de agregarlo como parametro en esta funcion.

Como he mencionado, el script, el query, TODO FUNCIONA... en 8 mil millones de tablas.
Pero cuando lo uso con una tabla que me pasaron (exportada) no funciona.
Los campos existen, el query esta bien. Todo bien...

Aqui hay mano negra
__________________
Programador jQuery & PHP
  #14 (permalink)  
Antiguo 26/12/2011, 20:47
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: error en mysql_fetch_array()

Que tal si colocas tu código y la estructura de la tabla para dejar las adivinanzas... Si mysql_query está devolviendo false es por algo... Me extraña que mysql_error no te esté dando ningún tipo de error. De todas formas es más un problema de mysql que de php y sin más información es díficil ayudarte.

Cita:
si mal no estoy, seria colocar la variable que contiene la base de datos seleccionada.
Pues mal si estás, si consultas el manual se le pasa la consulta y el identificador de conexión (opcional). No la base de datos seleccionada.

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #15 (permalink)  
Antiguo 26/12/2011, 21:04
Avatar de ElSiniestro  
Fecha de Ingreso: diciembre-2011
Ubicación: Ibagué
Mensajes: 115
Antigüedad: 12 años, 4 meses
Puntos: 23
Respuesta: error en mysql_fetch_array()

Hey ZoroRoronoa, no te enojes, que yo no califiqué negativo y además trato de ayudarte sinceramente.

Lo que pasa es que el error que te está botando indica que la consulta te está botando resultado boolean, o sea, que o arroja TRUE (imposible en consultas SELECT) o arroja FALSE. En conclusión, la que puede estar fallando es la conexión, o la base de datos.

Revisa los parámetros de conexión, o la configuración del servidor MySQL.
  #16 (permalink)  
Antiguo 27/12/2011, 01:35
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: error en mysql_fetch_array()

Cita:
Iniciado por ZoroRoronoa Ver Mensaje
mysql_query($query, $database);

Bueno, pues yo ya he seleccionado mi base, por lo que no requiere de agregarlo como parametro en esta funcion.

Como he mencionado, el script, el query, TODO FUNCIONA... en 8 mil millones de tablas.
Pero cuando lo uso con una tabla que me pasaron (exportada) no funciona.
Los campos existen, el query esta bien. Todo bien...

Aqui hay mano negra
sigo pensando que el problema esta en la manera de importar la tabla (sera porque me paso algo parecido), sin embargo esta respuesta



Cita:
Iniciado por andresdzphp Ver Mensaje
Si mysql_query está devolviendo false es por algo... Me extraña que mysql_error no te esté dando ningún tipo de error.

Pues mal si estás, si consultas el manual se le pasa la consulta y el identificador de conexión (opcional). No la base de datos seleccionada.

Saludos.
es totalmente correcta si mysql_error no te da ningun error la consulta no esta mal, de hecho no debería de haber ningun warning ya que no hay ningun error ni nada por el estilo, seria cuestion que nos dieras un poco mas de detalles para poder ayudarte, indicanos si las consultas que haces sobre la tabla importada en el phpmyadmin te dan resultados, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way

Etiquetas: mysql, registro, tabla
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 12:13.