正常来说,循环赋值是没问题的,你需要看下,你的sql在数据库中能查出几条结果,最好数组还是这样定义$arr = array();而不是$arr[] = array();简单的测试你数据是否只有一条的方法是在while里边打印个东西echo $sql;//打印下你的sql语句,用phpmyadmin执行下看结果$cnt=1;while($row = $db -> fetchassoc($result)) { $cnt++; echo $cnt; }