First of all you will want to index your database. I am guessing the query is taking forever due to it not having indexes.

Also I would suggest that you do this

$res = ("SELECT * FROM table WHERE email = ' ". email2chk." ' ";

also I would make sure you have no duplicates in the database by setting a UNIQUE on the email column.

Doing these things should speed up the site however note that if you check this on every page load it will be resource intensive.

also what is $email2Chk is it a string or your array of emails?

Thanks,
Joseph Crawford

On Oct 14, 2008, at 1:57 AM, [EMAIL PROTECTED] wrote:

Hello NYPHP,

 I have an array that has 13000 email addresses. For now, its in the
 script but will be in a database table eventually. It is a list of
 known bad guys.

 I have a database table with 9000 records and one of the fields is
 an email address.

 In PHP I am using a foreach to loop through the array and do a
 database lookup to try to find any matching emails.

 I am using this query inside the foreach loop:

       $res = ("SELECT * FROM `table` WHERE `email` = '$email2Chk'");
       $numRows = mysql_num_rows($res);
       if ( !empty($numRows ))


It processes about 12000 addresses in the array and the script times out.

 Anyone have a better idea for doing this task?

 TIA for any help.

--
Best regards,
mikesz                          mailto:[EMAIL PROTECTED]

_______________________________________________
New York PHP Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk

NYPHPCon 2006 Presentations Online
http://www.nyphpcon.com

Show Your Participation in New York PHP
http://www.nyphp.org/show_participation.php

_______________________________________________
New York PHP Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk

NYPHPCon 2006 Presentations Online
http://www.nyphpcon.com

Show Your Participation in New York PHP
http://www.nyphp.org/show_participation.php

Reply via email to