Foros del Web » Programando para Internet » PHP »

error al jalar datos de BD con funciones php

Estas en el tema de error al jalar datos de BD con funciones php en el foro de PHP en Foros del Web. *********** mi archivo index.php *********** Código PHP: <?php  include( "clases/conn.class.php" ); $link = Conectarse (); include( "clases/funciones.php" ); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Documento sin título</title> </head> ...
  #1 (permalink)  
Antiguo 25/07/2012, 11:01
 
Fecha de Ingreso: agosto-2010
Ubicación: Lima - Perú
Mensajes: 90
Antigüedad: 13 años, 10 meses
Puntos: 2
De acuerdo error al jalar datos de BD con funciones php

*********** mi archivo index.php ***********
Código PHP:
<?php 
include("clases/conn.class.php");
$link=Conectarse();
include(
"clases/funciones.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>
<body>

<?php
$rubros
=DBreturn(Conectarse(),"miboda_productos_provee","categoria=1","order by nombre desc","");
echo 
'<ul>';
    while(
$row_rubros mysql_fetch_array($rubros))  { 
     echo
'<li>sd
             <table>
                 <tr>
                    <td>'
.$row_rubros["nombre"].'</td>
                    <td>'
.$row_rubros["direccion"].'</td>
                    <td>'
.$row_rubros["telefono"].'</td>
                    <td>'
.$row_rubros["correo"].'</td>
                 </tr>
             </table>
         </li>'
;
    }
echo 
'</ul>';
?>

</body>
</html>

***********mi archivo conn.class.php************
Código PHP:
<?php
function Conectarse()
{
    if (
$link=mysql_connect("localhost","root",""))
    {
        if (
mysql_select_db("miboda_miboda"$link)) { return $link; } else { echo "Error al seleccionar base de datos"; return false; }
    } else {
        echo 
"Error al conectarse: DB";
        return 
false;
    }
}
?>
***********mi archivo funciones.php************
Código PHP:
<?php
function DBreturn($link$xtable$xreturn_fields$xcond$xcond2)
{
    if (
$link!="" and $xtable!="" and $xreturn_fields!="")
    {
        if (
$xcond!="") { $xcond=" where ".$xcond; } else { $xcond=""; }
        if (
$DBresult=mysql_query("select ".$xreturn_fields" from ".$xtable.$xcond." ".$xcond2$link))
        {
            if (
mysql_num_rows($DBresult)>0) { return mysql_fetch_array($DBresult); } else { return false; }
        } else {
            return 
false;
        }        
    } else {
        echo 
'<p class="texto">Error al llamar función (3): falta de parámetros.</p>'; return false;
    }
}
?>

desde ayer e estado revisando el codigo pero no llego a dar con el error, me aparece el siguiente mensaje
Cita:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\ajax_prueba\index.php on line 17
y es la linea del while($row_rubros = mysql_fetch_array($rubros))

alguien puede ayudarme a ver mi error, le estare muy agradecido.

Saludos foreros
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no"
  #2 (permalink)  
Antiguo 25/07/2012, 11:19
Avatar de JoseDx20  
Fecha de Ingreso: julio-2012
Ubicación: Maracaibo
Mensajes: 3
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: error al jalar datos de BD con funciones php

Amigo estas usando 2 veces el mysql_fetch_array($rubros),
en el while deberias usar un foreach() para leer el arreglo que la funcion DBreturn te esta devolviendo..
  #3 (permalink)  
Antiguo 25/07/2012, 14:25
 
Fecha de Ingreso: agosto-2010
Ubicación: Lima - Perú
Mensajes: 90
Antigüedad: 13 años, 10 meses
Puntos: 2
Respuesta: error al jalar datos de BD con funciones php

hola JoseDx20:

Probé con el foreach y me sigue apareciendo el mismo mensajes.

Saludos y gracias por el mensaje!
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no"
  #4 (permalink)  
Antiguo 25/07/2012, 14:39
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años, 1 mes
Puntos: 394
Respuesta: error al jalar datos de BD con funciones php

Tiene varios errores lógicos en lo que usted plantea:

1. mysql_fetch_array() solicita un resulset para trabajar.
2. Usted retorna mysql_fetch_array() y después en la instancia de la función vuelve a realizar un mysql_fetch_array()

Que puede hacer ?

1. Devolver el resulset (query) y recorrerlo con mysql_fetch_array() en donde llama la función.
2. Recorrer el resulset dentro de la función y guardar en un array los resultados y a la final devolver el array para recorrerlo en la pagina donde llama la función con un foreach.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #5 (permalink)  
Antiguo 25/07/2012, 14:41
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 10 meses
Puntos: 1532
Respuesta: error al jalar datos de BD con funciones php

de hecho lo que debes de hacer es retornar $DBresult en la función DBresult(), porque lo que necesitas es el resource_id

no se puede usar un foreach ¿para que si es secuencial?
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: bd, funciones, html, jalar, mysql, sql
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 15:18.