home Foro de soporte Espacio WEB MySQL
 
Mysql_fetch_array( )
#1 ·

WARNING: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/webcindario/budafeliz/pagina.phtml on line 5

Bien, por qué me da este error? Porque no comprende la mysql_fetch_array

Como lo soluciono? sustituyendolo por....

gracias..


Usuario habitual
Usuario habitual
Haz clic para ver el perfil del usuario
Mensajes: 21
Desde: 05/Sep/2004
· ·
#2 ·

¿Has seguido los siguientes pasos?

$sql = "select COLUMNA1,COLUMNA2...."; (la consulta que quieres)
$result = mysql_query($sql);
$fila = mysql_fetch_array($result);

Ahora tienes en $fila["COLUMNA1"]... los resultados de la consulta.


Usuario Novato
Usuario Novato
Haz clic para ver el perfil del usuario
Mensajes: 5
Desde: 28/Abr/2004
·
#3 · ·

En tu sql, debes de especificar una fila unica.
Por ejemplo:

$id = $_GET['id'];
$ssql = mysql_query("SELECT * FROM usuarios WHERE id = '$id'");
if($row = mysql_fetch_array($ssql)){
echo "Nombre: " . $row["nombre"];
//etc...
}else{
echo "Error MySQL: <br>" . mysql_error();
}


Bye!
Así te detectará el error...


Okupa del foro
Okupa del foro
Haz clic para ver el perfil del usuario
Mensajes: 716
Desde: 23/Ene/2004
· ·
#4 ·

Vereis, el codigo sé que funciona en otros servidores (por ejemplo Lycos).

Hace unos meses hice una pagina de pruebas para traerme la de Lycos aqui y me daba el mismo error y descubri que era porque habia una funcion que no la entendia bien, y habia que escribir una similar muy parecida.

La funcion mysql_fetch_array( ) tiene otra muy parecida llamada mysql_db_fetch_array( ) o algo asi. Recuerdo que era una tonteria algo parecido a eso.

El codigo está copypasteado así que no puede estar mal.

Os lo pego aqui de todos modos:

$consulta = "SELECT * FROM ... ;";
$resultados = mysql_query ($consulta,$db);
while ($resultados_array=mysql_fetch_array($resultados)) { $datos[]=$resultados_array; };

Gracias por ayudar


Usuario habitual
Usuario habitual
Haz clic para ver el perfil del usuario
Mensajes: 21
Desde: 05/Sep/2004
· ·
#5 ·

Para usar funciones de mysql en miarroba, debes de tener el host a mysql.webcindario.com.

Recuerda:

sustituye localhost por mysql.webcindario.com y asegura que tu bd es la de tu espacio
Bye.

Con el método que te he enseñado antes, mysql te diria Cuál es el error!!!!


Okupa del foro
Okupa del foro
Haz clic para ver el perfil del usuario
Mensajes: 716
Desde: 23/Ene/2004
· ·
#6 ·

Gracias

Ya comprobé lo que me dijiste. La conexion con la base esta bien. De todos modos, de no ser asi me avisaría.

$db = mysql_connect($host, $login, $password);
if (!$db) die("Error al conectar a la BD&quot;

Intentare hacer lo que me has dicho esta noche. Es que ahora no tengo tiempo. Aunque imagino que dará el error que dije.

Este error le sucede a mas gente. Es una cuestion del PHP de mi@ y (espero...) no de mi codigo.

Aun asi, esta noche averiguaré cual es el problema con el codigo que me has dado.

Muchas gracias de nuevo


Usuario habitual
Usuario habitual
Haz clic para ver el perfil del usuario
Mensajes: 21
Desde: 05/Sep/2004
· ·
#7 ·

Bueno pues espero otra respuesta tuya!

Bye.


Okupa del foro
Okupa del foro
Haz clic para ver el perfil del usuario
Mensajes: 716
Desde: 23/Ene/2004
· ·
#8 ·

Bueno, la cosa va mejorando.

Gracias por el codigo Ivan. Lo inserté tal que asi:

while ($resultados_array=mysql_fetch_array($resultados)) { $datos[]=$resultados_array; };

if (!$resultados_array) {
echo "Error MySQL: <br>" . mysql_error();
};

Ahora me pone el mismo aviso y además...

Error MySQL:
No Database Selected

Empiezo a recordar que el problema igual no era lo que dije de mysql_fetch_array( ) sino que habia que cambiar alguna funcion del "configuracion.php" que incluyo al ppio de cada pagina.

Pone esto:
$host = "mysql://mysql.webcindario.com";
$login = "budafeliz";
$password ..... ;
$table = "budafeliz";
$db = mysql_connect($host, $login, $password);
if (!$db) die("Error al conectar a la BD&quot;
mysql_select_db("$table, $db&quot;

La verdad no le veo el fallo, siempre lo he hecho así. Comprendereis que uso el mismo archivo para todas las webs que hago. :P

Gracias


Usuario habitual
Usuario habitual
Haz clic para ver el perfil del usuario
Mensajes: 21
Desde: 05/Sep/2004
· ·
#9 ·

Sería:
$host = "mysql.webcindario.com";

Si lo de mysql://


@man / @woman
@man / @woman
Haz clic para ver el perfil del usuario
Mensajes: 30.309
Desde: 01/Mar/2003
· ·
#10 ·

Sabia que alguien me lo diría. Hace tiempo intenté trasladar una pagina de Lycos a miarroba y como me saba el error que me da hoy y vi que además me daba el mismo error que me da ahora.

Consegui solucionarlo, pero decidi que tenia que rehacer la pagina asi que intente conectar desde la otra web con la base de datos de miarroba y para ello tuve que encontrar la direccion completa, que es esa. Aun asi no funciono.

Para descanso de todos he cambiado esa parte del codigo, pero no ha cambiado nada.

Agradezco mucho a toda la gente que me está ayudando, sobre todo porque son muy rapidos

Gracias a todos.

P.D: Por favor si alguno desiste de encontrar la respuesta que por favor, tambien responda anunciandolo, asi me ire con la pregunta a otra parte; en busca de respuestas jejeje


Usuario habitual
Usuario habitual
Haz clic para ver el perfil del usuario
Mensajes: 21
Desde: 05/Sep/2004
· ·
#11 ·

Podrías subir el código entero en un txt (ocultando la password, claro esta) y la tabla y algunos datos de muestra de la misma. Es para probarlo tanto en webcindario como en otro server.


@man / @woman
@man / @woman
Haz clic para ver el perfil del usuario
Mensajes: 30.309
Desde: 01/Mar/2003
· ·
#12 · ·

Ya pegué todo el codigo

La pagina conecta con la tabla y lo mete todo en un array. Luego es un simple bucle que lo muestra.

No tiene complicacion.

El codigo seria tal que asi:

<?php
$host = "mysql.webcindario.com";
$login = "budafeliz";
$password ...
$table = "budafeliz";
$db = mysql_connect($host, $login, $password);
if (!$db) die("Error al conectar a la BD");
mysql_select_db("$table, $db");
$consulta = "SELECT * FROM budafeliz WHERE 1 ORDER BY Id DESC;";
$resultados = mysql_query ($consulta,$db);
while ($resultados_array=mysql_fetch_array($resultados)) { $datos[]=$resultados_array; };

if (!$resultados_array) {
echo "Error MySQL: <br>" . mysql_error();
};
?>


Usuario habitual
Usuario habitual
Haz clic para ver el perfil del usuario
Mensajes: 21
Desde: 05/Sep/2004
· ·
#13 ·

Prueba a quitar lo del where y tal, después lo añadimos.
$consulta = "SELECT * FROM budafeliz ";
$resultados = mysql_query ($consulta,$db);

Otra cosa ¿estas seguro que la tabla de los datos se llama budafeliz?


@man / @woman
@man / @woman
Haz clic para ver el perfil del usuario
Mensajes: 30.309
Desde: 01/Mar/2003
· ·
#14 · ·

Buscando un poco:

Cita:

You can only use mysql_free_result with queries that return result sets. Calling mysql_free_result after a query that does not return a result set will generate an error:

PHP Warning: mysql_free_result(): supplied argument
is not a valid MySQL result resource in /prog/......


Te pone solo puedes usar XXX en busquedas que devuelven algun resultado sino..... Warning que te sale a ti.

Es decir, me da que no te devuelve resultados la búsqueda.

Edición: trata de usar mysql_num_rows -- Devuelve el numero de filas de un resultad para ver si devuelve resultados.

@man / @woman
@man / @woman
Haz clic para ver el perfil del usuario
Mensajes: 30.309
Desde: 01/Mar/2003
· ·
#15 ·

Hice lo que me dijiste:

quite lo de WHERE 1 (que lo habia quitado pensando que igual era eso)

comprobé que habia al menos una fila en la tabla (hay una fila)

y comprobé que la tabla se llamaba igual y nada.

Pero sigo pensando que es alguna funcion que se puede escribir de otro modo... (o igual no, os considero mis expertos asesores).

gracias a todos una vez mas


Usuario habitual
Usuario habitual
Haz clic para ver el perfil del usuario
Mensajes: 21
Desde: 05/Sep/2004
· ·
#16 ·

En la consulta en si la acabas con ; ¿has quitado el ; ese?


@man / @woman
@man / @woman
Haz clic para ver el perfil del usuario
Mensajes: 30.309
Desde: 01/Mar/2003
· ·
#17 ·

Nada

Sabeis alguna funcion que susituya a esta?

$resultados = mysql_query ($consulta,$db);

Creo que ahi está el problema porque puse un echo $resultados y no escribio nada de nada


Usuario habitual
Usuario habitual
Haz clic para ver el perfil del usuario
Mensajes: 21
Desde: 05/Sep/2004
· ·
#18 ·

BINGOO!!!!!


Era lo q yo decia. MIARROBA no reconoce la funcion

mysql_query ($consulta,$db);

asi que le puse

$resultados = mysql_db_query ($table,$consulta,$db);

y ahora funciona sin problemas^^ y lo mejor es que era lo que dije desde el ppio.

Ahora tengo otro problema con un script y con el anuncio de miarroba, que me sale en cachos por la pantalla: Podeis comprobarlo vosotros mismos:

http://budafeliz.webcindario.com

en la index y en toda la pagina, pero eso ya lo arreglaré mañana y en el foro correspondiente.
Gracias a los q con tanto empeño me habeis intentado ayudar
y hasta otra!!


Usuario habitual
Usuario habitual
Haz clic para ver el perfil del usuario
Mensajes: 21
Desde: 05/Sep/2004
· ·
#19 ·

Bueno, yo conecto sin darle variable, y ya esta


Okupa del foro
Okupa del foro
Haz clic para ver el perfil del usuario
Mensajes: 716
Desde: 23/Ene/2004
· ·
#20 ·
Escrito originalmente por @Kazbayadum

WARNING: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/webcindario/budafeliz/pagina.phtml on line 5

Bien, por qué me da este error? Porque no comprende la mysql_fetch_array

Como lo soluciono? sustituyendolo por....

gracias..

tu problema es sencillo de resolver, y esta en tu linea de consulta el select no lo estas haciendo bien, por eso no tienes resultados, y al no tener resultados tienes un mysq_fetch_array sin valor.

lo que tienes que hacer es una sentencia simple:

$var=mysql_query("SELECT * FROM tabla",$conección)or die('no hay datos intentelo mas tarde');

una vez que te reconozca la sentencia y te de datos pues vas poniendo where o orden by a tu sentencia,

espero que solocione tu proble amigo.

para hablar de estas cositas hay que saber y sobre todo consultar.


Usuario Novato
Usuario Novato
Haz clic para ver el perfil del usuario
Mensajes: 3
Desde: 18/Mar/2013
·
#21 ·
Escrito originalmente por Cristhian Bonifaz

tu problema es sencillo de resolver, ...

espero que solocione tu proble amigo.

Desde 2004 estaba este usuario esperando tu respuesta...


@man / @woman
@man / @woman
Haz clic para ver el perfil del usuario
Mensajes: 30.309
Desde: 01/Mar/2003
· ·
ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES,
te recomendamos abrir un nuevo tema en lugar de responder al actual
Foro de soporte · Espacio WEB · MySQL
Opciones:
Subscríbete a este tema
Date de baja de este tema
Ir al subforo:  
TU NO PUEDES Escribir nuevos temas en este foro
TU NO PUEDES Responder a los temas en este foro
TU NO PUEDES Editar tus propios mensajes en este foro
TU NO PUEDES Borrar tus propios mensajes en este foro
Ahora son las 01:56 UTC+02:00 DST
Temas similares
 I FotoTemaMensajesÚltima respuesta
No Hay mensajes nuevosHaz clic para ver el perfil del usuario301/Mar/2010, 19:40
 Ir al último mensaje del tema
No Hay mensajes nuevosHaz clic para ver el perfil del usuario
Error "mysql_fetch_array():"
Por: · 22/Dic/2009, 16:19
526/Dic/2009, 16:33
 Ir al último mensaje del tema
No Hay mensajes nuevosHaz clic para ver el perfil del usuario120/Jul/2009, 18:35
 Ir al último mensaje del tema
No Hay mensajes nuevosHaz clic para ver el perfil del usuario
ayuda con mysql_fetch_array
Por: · 19/Jul/2006, 02:05
219/Jul/2006, 22:27
 Ir al último mensaje del tema
No Hay mensajes nuevosHaz clic para ver el perfil del usuario
problemas con mysql_fetch_array
Por: · 10/Ago/2005, 01:40
718/Mar/2013, 19:17
 Ir al último mensaje del tema