我遇到了破坏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
即:它将数组中的第一个值吐出两次而没有其他内容。
请帮忙!
答案 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);