{
SqlDataReader reader = null
SqlCommand cmd = conn.CreateCommand()
cmd.CommandText = "Select Answer from Question where QuestionId=@QUESTIONID"
cmd.Parameters.Add(new SqlParameter("@QUESTIONID", question[i]))
reader = cmd.ExecuteReader()
while (reader.Read())
{
ans[i] = reader.GetValue(0).ToString()
}
reader.Close()
}
这当然是不行的了,上面的告诉你的也是错误的,因为原因在于你循环的时候进行了数据库的查询,所以每次都是新的数据,指针当然要从第一条开始了。所以不是你的循环的错误,而是你数据库查询代码位置的错误
要这样写
$num=mysql_query("select * from china_city where parentid=0")
$n=mysql_num_rows($num)
for($i=1$i<=$n$i++){
${"row".$i}=mysql_fetch_array($num)
echo $i." ".${"row".$i}['city']."<br>"
}
一般都是用foreach或while写的
foreach(mysql_fetch_array($num) as $key=>$value){}
while($row =mysql_fetch_array($num)){}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)