0

我似乎无法完成这项工作,有人可以帮助确定什么是不正确的:

$result = mysql_query("SELECT accounts_client_email.client_email FROM accounts_client_email WHERE accounts_client_email.accounts_client_id = 1", $con);

while( $row = mysql_fetch_assoc( $result)){
$new_array[] = $row; // Inside while loop
}

$tags = implode(', ', array($new_array));

echo $tags;
4

5 回答 5

1

您没有正确添加到数组中,它应该是:

$new_array[] = $row['client_email'];

而且您不必要地将数组封装到另一个数组中;

利用:

$tags = implode(', ', $new_array);

或者echo $tags;只输出“Array”

于 2013-06-06T10:27:46.957 回答
1

我认为您只需要使用带有列名的范围来填充数组

while( $row = mysql_fetch_assoc( $result))
{
    $new_array[] = $row['client_email']; // Inside while loop
}

我还想提醒您,mysql_*功能已正式弃用且不再维护,因此我建议您切换到新项目mysqliPDO进行新项目。

于 2013-06-06T10:28:51.400 回答
1

您需要使用括号

$new_array[] = $row[]; // Inside while loop

如果这不起作用,请使用

 $new_array[] = $row['client_email']; // Inside while loop
于 2013-06-06T10:30:53.340 回答
0

如果你只需要一个逗号分隔的字符串,而不是一个数组,你可以这样做:

while( $row = mysql_fetch_assoc( $result))
{
    if(empty($tags)
        $tags = $row['client_email'];
    else
        $tags .= ', '.$row['client_email'];
}
echo $tags; //will display comma separated string - no arrays needed
于 2013-06-06T10:35:28.783 回答
0

使用 for 循环

$array_to_string="";
for($i=0;$i<=count($result_array)-1;$i++)
{
    if($i != count($result_array)-1)
    {
        $array_to_string .= $result_array[$i].",";
    }else
    {
        $array_to_string .= $result_array[$i];
    }
}
echo $array_to_string; // you get the string as a commoa seperated values which is available in the array
于 2013-06-06T10:32:39.240 回答