Imploding MySQL数组

时间:2011-06-15 11:09:43

标签: php mysql

我遇到了破坏MySQL数据库阵列的问题,下面是我正在使用的代码示例:

mysql_select_db($database_wlast, $wlast);
$query_category = "SELECT product_name FROM raw_materials WHERE category = '$_POST[category]'";
$category = mysql_query($query_category, $wlast) or die(mysql_error());
$row_category = mysql_fetch_array($category);

$result= implode(',',$row_category);

echo $result;

结果如下:

Amber glass bottle 100ml, Amber glass bottle 100ml

即:它将数组中的第一个值吐出两次而没有其他内容。

请帮忙!

4 个答案:

答案 0 :(得分:0)

while($row_category = mysql_fetch_array($category)){
   $result[] = implode(',',$row_category);
}
echo implode("\n",$result);

答案 1 :(得分:0)

使用mysql_fetch_array($category, MYSQL_NUM)mysql_fetch_row($category)mysql_fetch_assoc($category)

问题是默认情况下mysql_fetch_array会返回枚举和关联数组合。

答案 2 :(得分:0)

这就是mysql_fetch_array()返回结果的两次:数字键和字符串键。您可能需要mysql_fetch_assoc()

答案 3 :(得分:0)

您想要从数据库中删除所有产品名称吗?如果是,那么上面的代码就错了。

mysql_fetch_array($ category)只返回数据库的1行。如果你想破坏你的所有产品名称而不是代码应该这样:

$result="";
while($row_category=mysql_fetch_array($category))
   $result=$result.",".$row[0];
或者你这样的事情。您将所有产品名称保存在阵列上并将其内爆。像这样:

    while($row_category=mysql_fetch_array($category))
   $result[]=$row[0];

$newResult=implode(",",$result);