注意:数组到字符串转换 - PHP& MySQL的

时间:2013-05-05 18:07:10

标签: php mysql phpmyadmin

我一直在读这里与此相关的每一个帖子,但我总是弄错了。

请帮忙,因为我总是收到错误

  

“注意:数组到字符串转换”在行“$ 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);

2 个答案:

答案 0 :(得分:3)

更改此行

 $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";
}
}

希望有帮助...

答案 1 :(得分:0)

在while循环的每次迭代中设置$ row。每次它包含一个新的表记录。所以你只需要在地址数组中添加每条记录。

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