faressoft
faressoft

Reputation: 19651

Can i put an array in mysql select?

Can i put an array in mysql select ?

$usersArray = array(34, 23, 17, 17, 56);

$result = mysql_query("SELECT * FROM users WHERE user_id=$usersArray");

Can i do that ?

Upvotes: 0

Views: 409

Answers (3)

drew
drew

Reputation: 1312

Try:

$usersArray = array(34, 23, 17, 17, 56);
$usersIn = implode(",",$usersArray);
$result = mysql_query("SELECT * FROM users WHERE user_id in($usersIn)");

The "in" does a comparison of user_id against any of the entries in the comma separated list within the brackets.

Upvotes: 0

Alex
Alex

Reputation: 14618

$usersArray = array(34, 23, 17, 17, 56);

$result = mysql_query("SELECT * FROM users WHERE user_id in (".
    implode(",",$usersArray).
    ")");

This is unsafe, as in placing sql parameters as concatenated strings. But you get the general idea.

Upvotes: 0

Core Xii
Core Xii

Reputation: 6441

No. I believe this is how you should do that:

$result = mysql_query("SELECT * FROM users WHERE user_id IN (" . implode(', ', $usersArray) . ")");

Upvotes: 2

Related Questions