Re: [PHP] problem with for loop

[email protected] ("Nathan Nobbe")
Newsgroups php.general
Message-ID <[email protected]>
On Fri, May 2, 2008 at 1:20 AM, Richard Kurth <[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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.