2013-12-15 2 views
0

Я пытаюсь поместить массив в запрос, но я не работаю. Я связываю его с implode(), но потом он дает мне «Массив для преобразования строк в ... в строке 26». Зачем? С json_encode это сработало ...PHP - массив в implode

Спасибо за помощь!

$sql = mysql_query("SELECT follows 
      FROM follow 
      WHERE follower LIKE '".$id."'") or die (mysql_error()); 

if(mysql_num_rows($sql) < 1){ 
    echo "<br/>"; 
    echo "Follow someone"; 
} else { 
    //Put all the id's of the users the user is following in an array. 
    $i = 0; 
    $user_follows = array(); 
    while ($row = mysql_fetch_assoc($sql)) 
     { 
      $user_follows[$i] = $row; 
      $i++; 
     } 

    $user_follows = implode(" , ", $user_follows); 
    echo $user_follows; 
} 
+1

mysql_ * устарел и больше не должен использоваться. Вместо этого используйте mysqli. – Zarathuztra

+0

Что находится в строке 26? Здесь я всего лишь 20 строк исходного кода. – bishop

ответ

2

Второй аргумент implode должен быть массивом строк. Но вы делаете:

$user_follows[$i] = $row; 

$row Поскольку массив, вы делаете массив массивов (2-мерный массив), а не массив строк. Это должно быть:

$user_follows[] = $row['follows']; 

Вам не нужно переменную $i, сопоставляя $array[] добавляет новый элемент в массив.

+0

Спасибо! Работает ... –

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