Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

Estas en el tema de Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource en el foro de PHP en Foros del Web. Hola gente tengo un pequeño problema, no consigo arreglar el siguiente error: Cita: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ...
  #1 (permalink)  
Antiguo 20/10/2013, 12:29
 
Fecha de Ingreso: junio-2013
Ubicación: Mar del Plata
Mensajes: 122
Antigüedad: 6 años, 4 meses
Puntos: 0
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

Hola gente tengo un pequeño problema, no consigo arreglar el siguiente error:
Cita:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\includes\posts.php on line 7
Lo que quiero hacer es volvar dentro de la pagina todos los post o noticias que realizo un determinado usuario, en este momento estoy trabajando con un usuario temporal para no tener que loguarme y asi poder trabajar, aca dejo el codigo:

mysql.php:
Código PHP:
<?php
$db_link 
mysql_connect('127.0.0.1''root''');
if(!
$db_link){
    die(
'No se pudo conectar: ' mysql_error());
}
$db_selected mysql_select_db('blog'$db_link);
if(!
$db_selected){
    die(
'No se selecciono la BD: ' mysql_error());
}
?>
posts.php
Código PHP:
<?php
include_once('mysql.php');



$query mysql_query("SELECT * FROM post WHERE usuario ='".$_SESSION['usuario_t']."';");
while(
$fila mysql_fetch_array($query)){
    echo 
"
    <article>
        <div id='logov2b'></div>
        <time>"
.$fila['ano']."-".$fila['mes']."-".$fila['dia']."</time>
        <h3>"
.$fila['titulo']."</h3>
        <h4>"
.$fila['subtitulo']."</h4>
        <p>"
.$fila['texto']."</p>
    </article>
    "
;
}
mysql_close($db_link);
?>
aca dejo el contenido de un post de la base de datos:


trate usando el pint_r para no usar el echo pero de todas maneras no funciona. Si uso el print_r me tira:
Cita:
Parse error: parse error in C:\xampp\htdocs\includes\posts.php on line 11
  #2 (permalink)  
Antiguo 20/10/2013, 12:50
 
Fecha de Ingreso: agosto-2013
Ubicación: Granada, Andalucía, España
Mensajes: 40
Antigüedad: 6 años, 2 meses
Puntos: 0
Respuesta: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL resul

Creo que realmente no estás accediendo a la base de datos, cuando haces mysql_query no estás haciendo referencia a la base de datos.

Siempre hay distintas formas de programar una misma acción. Te cuento como lo hago yo:

Conexión a la base de datos:

$dbconex = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);


Acceso a datos:

$query = "SELECT ........"
$recordset=mysqli_query($dbconex, $query);
while ($fila = mysqli_fetch_array($recordset))
{.......
}
  #3 (permalink)  
Antiguo 20/10/2013, 12:59
 
Fecha de Ingreso: junio-2013
Ubicación: Mar del Plata
Mensajes: 122
Antigüedad: 6 años, 4 meses
Puntos: 0
Respuesta: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL resul

Gracias por contestar, asi estaria bien ?

Código PHP:
<?php 
include_once('mysql.php'); 



$query "SELECT * FROM post WHERE usuario ='".$_SESSION['usuario_t']."';"
$resultado mysql_query($db_link,$query);
while(
$fila mysql_fetch_array($resultado)){ 
    echo 

    <article> 
        <div id='logov2b'></div> 
        <time>"
.$fila['ano']."-".$fila['mes']."-".$fila['dia']."</time> 
        <h3>"
.$fila['titulo']."</h3> 
        <h4>"
.$fila['subtitulo']."</h4> 
        <p>"
.$fila['texto']."</p> 
    </article> 
    "


mysql_close($db_link); 
?>
  #4 (permalink)  
Antiguo 20/10/2013, 13:03
 
Fecha de Ingreso: agosto-2013
Ubicación: Granada, Andalucía, España
Mensajes: 40
Antigüedad: 6 años, 2 meses
Puntos: 0
Respuesta: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL resul

Creo que así te debería funcionar. Pruuébalo!
  #5 (permalink)  
Antiguo 20/10/2013, 13:05
 
Fecha de Ingreso: junio-2013
Ubicación: Mar del Plata
Mensajes: 122
Antigüedad: 6 años, 4 meses
Puntos: 0
Respuesta: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL resul

haciendolo asi:
Código PHP:
<?php
include_once('mysql.php');



$query "SELECT * FROM post WHERE usuario ='".$_SESSION['usuario_t']."';";
$resultado mysql_query($db_link,$query);
while(
$fila mysql_fetch_array($resultado)){
    echo 
"
    <article>
        <div id='logov2b'></div>
        <time>"
.$fila['ano']."-".$fila['mes']."-".$fila['dia']."</time>
        <h3>"
.$fila['titulo']."</h3>
        <h4>"
.$fila['subtitulo']."</h4>
        <p>"
.$fila['texto']."</p>
    </article>
    "
;
}
mysql_close($db_link);
?>
me tira estos errores:
Cita:
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\xampp\htdocs\includes\posts.php on line 7

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\includes\posts.php on line 8

Warning: mysql_close(): 3 is not a valid MySQL-Link resource in C:\xampp\htdocs\includes\posts.php on line 19
  #6 (permalink)  
Antiguo 20/10/2013, 13:08
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 11 años, 8 meses
Puntos: 96
Respuesta: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL resul

mysql_query($query,$dblink);
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #7 (permalink)  
Antiguo 20/10/2013, 13:12
 
Fecha de Ingreso: junio-2013
Ubicación: Mar del Plata
Mensajes: 122
Antigüedad: 6 años, 4 meses
Puntos: 0
Respuesta: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL resul

Cita:
Iniciado por SkAr88 Ver Mensaje
mysql_query($query,$dblink);
Si el $resultado lo hago como decis vos, igual tira el mismo error.
  #8 (permalink)  
Antiguo 20/10/2013, 13:20
 
Fecha de Ingreso: agosto-2013
Ubicación: Granada, Andalucía, España
Mensajes: 40
Antigüedad: 6 años, 2 meses
Puntos: 0
Respuesta: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL resul

El orden de los parametros cambia ente mysql y mysqli.
Como dice SkAr88, dales la vuelta...


La extensión mysql está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro, de ahí las recomendaciones generalizadas para usar mysqli.
  #9 (permalink)  
Antiguo 20/10/2013, 13:21
 
Fecha de Ingreso: agosto-2013
Ubicación: Granada, Andalucía, España
Mensajes: 40
Antigüedad: 6 años, 2 meses
Puntos: 0
Respuesta: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL resul

Pon mysql_query($query,$db_link);

El subrayado del nombre es importante....
  #10 (permalink)  
Antiguo 20/10/2013, 13:26
 
Fecha de Ingreso: junio-2013
Ubicación: Mar del Plata
Mensajes: 122
Antigüedad: 6 años, 4 meses
Puntos: 0
Respuesta: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL resul

intente de las dos formas, tanto
Código PHP:
$resultado mysql_query($query,$db_link); 
como

Código PHP:
$resultado mysql_query($db_link,$quer
;

y sigue igual
  #11 (permalink)  
Antiguo 20/10/2013, 13:28
 
Fecha de Ingreso: agosto-2013
Ubicación: Granada, Andalucía, España
Mensajes: 40
Antigüedad: 6 años, 2 meses
Puntos: 0
Respuesta: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL resul

Cambia $db_link por $db_selected

En $db_link no está indicada la base de datos a la que accedes. Es otra diferencia con mysqli..
  #12 (permalink)  
Antiguo 20/10/2013, 13:36
 
Fecha de Ingreso: junio-2013
Ubicación: Mar del Plata
Mensajes: 122
Antigüedad: 6 años, 4 meses
Puntos: 0
Respuesta: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL resul

Cita:
Iniciado por Gelito Ver Mensaje
Cambia $db_link por $db_selected

En $db_link no está indicada la base de datos a la que accedes. Es otra diferencia con mysqli..

Si lo habia intentado hace un rato ya pero tampoco, sigue tirando esos 3 errores. :/
  #13 (permalink)  
Antiguo 20/10/2013, 13:37
 
Fecha de Ingreso: junio-2013
Ubicación: Mar del Plata
Mensajes: 122
Antigüedad: 6 años, 4 meses
Puntos: 0
Respuesta: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL resul

Ya lo solucione, saque el include de conexion y realice la conexion en el mismo archivo, quedando de esta manera:

Código PHP:
mysql_connect('localhost','root','');
mysql_select_db('blog');
$query mysql_query("SELECT * FROM post WHERE usuario ='".$_SESSION['usuario_t']."';");
while(
$fila mysql_fetch_array($query)){
    echo 
"
    <article>
        <div id='logov2b'></div>
        <time>"
.$fila['ano']."-".$fila['mes']."-".$fila['dia']."</time>
        <h3>"
.$fila['titulo']."</h3>
        <h4>"
.$fila['subtitulo']."</h4>
        <p>"
.$fila['texto']."</p>
    </article>
    "
;
}
mysql_close($db_link);
?> 
y fuinciono

Etiquetas: mysql, resource, result, select, sql, warning
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 17:13.