Примечание. Преобразование массива в строку – PHP & mySQL

Я читал в каждой теме, которая связана с этим, но я всегда ошибаюсь.

Пожалуйста, помогите, я всегда получаю ошибку

«Обратите внимание: массив для преобразования строк» ​​в строке «$ address [] = mysql_result ($ row, 0);»

ниже. Пожалуйста помоги.

if ($p_address=mysql_query($email)) { $address = array(); while($row = mysql_fetch_assoc($p_address)) { $address[] = mysql_result($row, 0 ); } $all_address = implode(',', $address); 

Изменить эту строку

  $address[] = mysql_result($row, 0 ); 

К этому:

  $address[] = $row; 

А затем, чтобы увидеть ключи и значения, доступные в новом массиве $address , вы можете сделать что-то вроде этого:

  print_r($address); 

Чтобы сохранить функциональность implode() , выполните следующие действия:

 for ($i = 0; $i < count($address); $i++) { $all_address[] = implode(',', $address[$i]); } 

Конечный результат:

 if ($p_address=mysql_query($email)) { $address = array(); while($row = mysql_fetch_assoc($p_address)) { $address[] = $row; } for ($i = 0; $i < count($address); $i++) { $all_address[] = implode(',', $address[$i]); } // Example for outputting on screen: foreach ($all_address as $aa) { print $aa . "<br/>\n"; } } 

Надеюсь, это поможет…

$ row устанавливается на каждой итерации цикла while. каждый раз, когда он содержит новую запись таблицы. Поэтому вам просто нужно добавить каждую запись в массив адресов.

  while($row = mysql_fetch_assoc($p_address)) { $address[] = $row; }