2013-12-21 4 views
0

У меня есть массив tags_ids 1,3,2 иКак получить данные массива из таблицы?

данные в моей таблице:

+---------+----------+ 
| user_id | tag_id | 
+---------+----------+ 
|  1 |  1 | 
|  1 |  2 | 
|  2 |  1 | 
|  2 |  2 | 
+---------+----------+ 

Я хочу, чтобы получить коды пользователей в массив, но не работает:

foreach ($tags_ids as $i) 
    { 
     if ($result = $mysqli->prepare("SELECT `user_id` FROM `mytable` WHERE `tag_id`=?")) 
     { 
      $result->bind_param("i",$i); 
      $result->execute(); 
      $result->bind_result($d); 
      $result->fetch(); 
      $result->close(); 
     } 

     if (!in_array($d,$users_ids)) $users_ids[] = $d; 
    } 

Мой результат всегда 1. Что я делаю неправильно, и могу ли я сделать это более простым способом?

+3

Вы должны вызвать 'выборки()' в цикле, чтобы получить все строки. Один вызов 'fetch()' только извлекает строку _one_. –

+2

См. Примеры в документации '' mysqli :: fetch() '(http://www.php.net/manual/en/mysqli-stmt.fetch.php) Что-то вроде' while ($ result-> fetch ()) {$ users_ids [] = $ d; } ' –

ответ

1

Вам нужна петля, вы можете найти ее здесь для полной помощи: http://www.youtube.com/watch?v=hO0YOOeJrOE
не забудьте посмотреть и другие видео, очень полезные.

Гудлак, PHPNoob

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