Re: Querying a database for 50 users' information: 50 queries or a WHERE array?
| From: | Ashley Sheridan | Date: | Tue, 13 Sep 2011 14:29:26 +0000 |
| Subject: | Re: Querying a database for 50 users' information: 50 queries or a WHERE array? | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-314791@lists.php.net to get a copy of this message | ||
Dotan Cohen <dotancohen@gmail.com> wrote:
>I have a MySQL database table with about 10,000 rows. If I want to
>query for 50 specific users (so no LIMIT ORDER BY) then I seem to have
>these choices:
>
>1) SELECT * FROM table
>This will pull in all 10,000 rows, not nice!
>
>2) foreach ($user as $u) { mysql_query("SELECT * FROM table WHERE
>userID=".$u); }
>This will lead to 50 queries, again not nice! (maybe worse)
>
>3) foreach ($user as $u) { $whereClause+=" OR userID=".$u; }
>This makes a huge SQL query. However, this is the method that I'm using
>now.
>
>Is there some sort of array that can be passed in the WHERE clause,
>containing all the userID's that I am interested in?
>
>Thanks!
>
>--
>Dotan Cohen
>
>http://gibberish.co.il
>http://what-is-what.com
>
>--
>PHP General Mailing List (http://www.php..net/)
>To unsubscribe, visit: http://www.php.net/unsub.php
SELECT * FROM table WHERE userID IN (1,2,3,4,5,etc)
Much smaller than what you proposed in #3, and easier to make if your user is list is already an
array.
Thanks,
Ash
http://www.ashleysheridan.co.uk
--
Sent from my Android phone with K-9 Mail. Please excuse my brevity.