Avatar Image
Usuario habitual
Usuario habitual

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..

Avatar Image
Usuario Novato
Usuario Novato

¿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.

Avatar Image
Okupa del foro
Okupa del foro

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...

Avatar Image
Usuario habitual
Usuario habitual

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

Avatar Image
Okupa del foro
Okupa del foro

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!!!!

Avatar Image
Usuario habitual
Usuario habitual

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

Avatar Image
Okupa del foro
Okupa del foro

Bueno pues espero otra respuesta tuya!

Bye.

Avatar Image
Usuario habitual
Usuario habitual

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

Avatar Image
@man / @woman
@man / @woman

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

Si lo de mysql://

Avatar Image
Usuario habitual
Usuario habitual

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

Avatar Image
@man / @woman
@man / @woman

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.

Avatar Image
Usuario habitual
Usuario habitual

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();
};
?>

Avatar Image
@man / @woman
@man / @woman

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?

Avatar Image
@man / @woman
@man / @woman

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.
Avatar Image
Usuario habitual
Usuario habitual

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

Avatar Image
@man / @woman
@man / @woman

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

Avatar Image
Usuario habitual
Usuario habitual

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

Avatar Image
Usuario habitual
Usuario habitual

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!!

Avatar Image
Okupa del foro
Okupa del foro

Bueno, yo conecto sin darle variable, y ya esta

fb@100000577812125
Usuario Novato
Usuario Novato
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.

Avatar Image
@man / @woman
@man / @woman
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...

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
Opciones:
Ir al subforo:
Permisos:
TU NO PUEDES Escribir nuevos temas
TU NO PUEDES Responder a los temas
TU NO PUEDES Editar tus propios mensajes
TU NO PUEDES Borrar tus propios mensajes
Temas similares
TemaUsuariosRespuestasVisitasActividad
Por: , el 28/Feb/2010, 17:41
cesand209 NoSetup.org36kMar/10
Por: , el 22/Dic/2009, 16:19
Rach46 NoSetup.org54kDec/09
Por: , el 20/Jul/2009, 17:55
linklove GestionXls15kJul/09
Por: , el 19/Jul/2006, 02:05
bobesponjaweb NoSetup.org22kJul/06
Por: , el 10/Ago/2005, 01:40
juanhl acelisr manu.net Joan-slot fb@100000577812125719kMar/13