Я читал в каждой теме, которая связана с этим, но я всегда ошибаюсь.
Пожалуйста, помогите, я всегда получаю ошибку
«Обратите внимание: массив для преобразования строк» в строке «$ 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; }