为了账号安全,请及时绑定邮箱和手机立即绑定

问个 这个里面的问题啊 谢谢了

某位大神 解释的 我觉得说的很好了 但是 还是不清除 为啥$data[]=$row  while就开始 循环 如果不加  就只循环一行呢 有人解释下么?

下面 哪位大神 解释的 原话

while($row=mysql_fetch_assoc($query)){

//从结果集中取得一行作为关联数组->  $row=mysql_fetch_assoc($query)

//如果不把$row 赋值给$data[];那么while循环到最后只取出一行数据,,

//如果用$data[]=$row;,那么就是用while 每次取出一行数据,然后赋值给$data[],

//然后注意$data后面跟一个中括号意思是每次把$row的值赋给$data,$data会为$row创建一个索引,例如图片很重要的数组转化 在一个文件夹里

$data[]=$row;

}


正在回答

3 回答

不是说只循环一行。

while($row=mysql_fetch_assoc($query))

mysql_fetch_assoc($query)这东西每次取一条数据。每次循环都把取到的数据赋值给$row 

$data[] = $row 是把每一次循环取到的那一条存在数组里。

如果不存,那么下一次循环 $row 又会被赋值下一条数据。前面的就被覆盖了。

没有$data这个数组存储数据的话,循环结束后$row的值也就是最后一条数据的值。

0 回复 有任何疑惑可以回复我~
#1

慕姐4424294 提问者

啊 原来 如此啊..
2015-12-12 回复 有任何疑惑可以回复我~
#2

慕姐4424294 提问者

原来如此 我没用while 那个循环 也没加$data[]=$row 结果 输出来的数据 就是1条的数据 输出了 好多次... 原来如此 原来 是被覆盖 了是吧!!放在$data[]=$row 这里保存 就不会覆盖了吧
2015-12-12 回复 有任何疑惑可以回复我~
#3

慕姐4424294 提问者

非常感谢!
2015-12-12 回复 有任何疑惑可以回复我~

不用while就取第一条。

用while不加$date 就取最后一条。

0 回复 有任何疑惑可以回复我~
#1

慕姐4424294 提问者

$query=mysql_query("select * from wenzhang") 原来如此 但是 最后问下 mysql_fetch_assoc($query)这个函数 只是取一条 字段下的内容的意思 也就是第一条吧? 加了while 循环 就开始 1条1条的取了 然后 一直取到一条。取到的每一条就存在$data[]里面 不放$data[]的话 因为被前面覆盖 只能取到 最后一条 是吧? 我这么理解对么?
2015-12-12 回复 有任何疑惑可以回复我~
#2

木子舟义 回复 慕姐4424294 提问者

mysql_fetch_assoc($query) 取一条后,指向下一条。下一次就取第二条。
2015-12-12 回复 有任何疑惑可以回复我~
#3

慕姐4424294 提问者 回复 木子舟义

啊 知道了 谢谢啊
2015-12-12 回复 有任何疑惑可以回复我~

为啥$data[]=$row  while就开始 循环 如果不加  就只循环一行呢 

你在说什么。。。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
PHP与MySQL关系大揭秘
  • 参与学习       72504    人
  • 解答问题       978    个

让我们一起走上探秘之旅,找寻php和mysql恋爱的真谛

进入课程

问个 这个里面的问题啊 谢谢了

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号