2014-10-14 5 views
0

У меня есть массив с некоторыми идентификаторами (все они уникальны). Я хочу выбрать данные из базы данных для каждого идентификатора в массиве. Я пробую этот код, но его не работает, где моя ошибка?Выберите несколько строк из базы данных

$array = ....; 
foreach ($array as $key => $id) { 
    $query = "SELECT * FROM user WHERE id = '$id'"; 
    $result = mysql_query($query); 
    $rows = mysql_fetch_assoc($result) 
} 
+0

Какая ошибка? –

+0

У вас есть сообщение об ошибке? Вы используете '$ rows' где-нибудь? Также обратите внимание, что ['mysql_ *' устарел] (http://php.net/manual/en/mysqlinfo.api.choosing.php). – andy

+0

никаких ошибок, белый экран, когда var_dump (krumo) $ rows – nowiko

ответ

2

Попробуйте

$array = ......; 
$id = implode(",", $array); 
$query = mysql_query("SELECT * FROM `user` where id IN($id)"); 
while($row = mysql_fetch_array($query)) 
{ 
    $user_id=$row['id']; 
} 
-2

Я хочу предложить другое решение, попробуйте:

$query = "SELECT * FROM user WHERE 1=1 "; 

if(count($array){ 
    $query .= " AND ("; 
    foreach ($array as $key => $id) { 
     $query .= ' OR id ='.$id; 
    } 
    $query .= ")"; 
} 
$result = mysql_query($query); 

, и я надеюсь, что это поможет вам.

+1

Переменные в двойных кавычках будут расширены (http://php.net/manual/en/language.types.string.php#language.types.string.syntax.double). это не проблема. – andy

+0

@andy: Я меняю сообщение. – Mimouni

Смежные вопросы