Foros del Web » Programando para Internet » PHP »

problemas con valores nulos en foreach

Estas en el tema de problemas con valores nulos en foreach en el foro de PHP en Foros del Web. hola amigos, cuando la consulta en sql viene vacio me sale este error en foreach Warning: Invalid argument supplied for foreach() ............... si viene vacio ...
  #1 (permalink)  
Antiguo 27/03/2016, 19:16
 
Fecha de Ingreso: marzo-2015
Mensajes: 96
Antigüedad: 9 años
Puntos: 0
problemas con valores nulos en foreach

hola amigos, cuando la consulta en sql viene vacio me sale este error en foreach

Warning: Invalid argument supplied for foreach() ...............

si viene vacio valido si viene vacio antes de entrar al foreach pero igual me muestra el error:

codigo:

$dato = $info->Buscar($_GET['id_producto']);
if(!empty($dato)){
foreach($dato as $value)
{
...
...
..

esta bien lo que hago?.
  #2 (permalink)  
Antiguo 27/03/2016, 19:47
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: problemas con valores nulos en foreach

Código PHP:
$dato $info->Buscar($_GET['id_producto']);
if(isset(
$dato)){
foreach(
$dato as $value)
{
... 
En realidad hay muchisimas formas de hacerlo.
Podrías hacer que en Buscar() devuelva 0 o -1 cuando no encuentra registros, por ejemplo. DFe ese modo encapsulas el problema directamente en esa función y no tienes que andar haciendo controles posteriores.
Podrías generar excepciones funcionales customizadas, cosa que poder controlar mejor los errores devueltos al usuario y que el usuario SEPA lo que realmente está pasando.
En cualquier caso siempre tienes que programar planteándote cuales son los escenarios de fallo posible, y planear que harás en cada caso. Eso es lo que se hace cuando trabajas profesionalmente en desarrollo de sofware.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 27/03/2016 a las 23:51

Etiquetas: foreach, nulos, 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 07:22.