我一直在读这里与此相关的每一个帖子,但我总是弄错了。
请帮忙,因为我总是收到错误
“注意:数组到字符串转换”在行“$ 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);
答案 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;
}