Re: [PHP] problem with for loop
[email protected] (Richard Kurth)
| Newsgroups | php.general |
|---|---|
| Message-ID | <[email protected]> |
Nathan Nobbe wrote: > On Fri, May 2, 2008 at 1:20 AM, Richard Kurth > <[email protected] <mailto:[email protected]>> wrote: > > Way does my for loop not complete the task if there are 4 emails > it only process 3 emails through the foreach loop if there is 3 it > only process 2 > > $file=file_get_contents("C:\web\bouncehandler\eml\em$i"); > $multiArray = Bouncehandler::get_the_facts($file); > > > have you checked $multiArray here to verify it has the number of > emails you expect there are to be processed ? > > > > $EMAIL = $the['recipient']; > foreach($multiArray as $the){ > switch($the['action']){ > case 'failed': > $sql="UPDATE contacts SET emailstatus = 'Fatal-Bounced' > WHERE emailaddress = '$EMAIL'"; > mysql_query($sql) or die("Invalid query: " . mysql_error()); > break; > case 'transient': > $sql="UPDATE contacts SET emailstatus = 'Bounced' WHERE > emailaddress = '$EMAIL'"; > mysql_query($sql) or die("Invalid query: " . mysql_error()); > break; > case 'autoreply': > $sql="UPDATE contacts SET emailstatus = 'Bounced' WHERE > emailaddress = '$EMAIL'"; > mysql_query($sql) or die("Invalid query: " . mysql_error()); > break; > default: > //don't do anything > break; > } > > > have you done any logging, or error checking to see if one (or more) > of the emails isnt falling into the default case of the switch > statement ? -nathan Yes I have it is just no processing the last email. I have even printed them out before the foreach and it always comes out one less that there are emails. It is downloading the correct amount and creating them in the directory it is just not passing the last one on