问题出在mysql_fetch_array这一步,此方法的第二个参数表示你要获取的数组的类型
MYSQL_ASSOC 关联数组,就是键名是id,name的
MYSQL_NUM 索引数组,键名是数字的
MYSQL_BOTH 以上两种都有
不给第二个参数的话,默认是MYSQL_BOTH,所以就出现了你上面的结果
mysqli_fetch_all($res)解决
是你用的函数问题换成mysql_fetch_assoc试一下! mysql_fetch_array是已关联索引数组取出!换了百分之百行
问题问得挺好,我也遇到了同样的问题。但我是双层循环订单信息(订单表和订单详情表有关联),然后最外层循环mysql语句套用了select from 订单表 join 订单详情表 on语句,出现了双倍的数据。
原来$ssq="SELECT * FROM orders AS o JOIN orderdetails as ods ON o.order_number=ods.order_number Where o.userid=$u";
改为$ssq="SELECT * FROM orders AS o Where o.userid=$u";
while ($row = mysqli_fetch_assoc($result)){
?>