免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4035 | 回复: 5
打印 上一主题 下一主题

mysql_fetch_array取不出数据 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-28 13:32 |只看该作者 |倒序浏览
环境
Mysql : 3.23
PHP: 4.37


下面一段代码无法取出数据,请问是什么原因 ?




  1. <?php
  2.     mysql_connect("localhost", "mysql_user", "mysql_password") or
  3.         die("Could not connect: " . mysql_error());
  4.     mysql_select_db("mydb");

  5.     $result = mysql_query("SELECT id, name FROM mytable");

  6.     while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  7.         printf ("ID: %s  Name: %s", $row["id"], $row["name"]);
  8.     }

  9.     mysql_free_result($result);
  10. ?>
复制代码


申明:将mysql_fetch_array 换成 mysql_fetch_object则没有问题,可以取出数据。这证明数据库、mysql的连接、query都没有问题,那为啥还取不到数据呢?

论坛徽章:
0
2 [报告]
发表于 2007-04-28 13:41 |只看该作者
sorry,检查代码,发现是拼错了一个单词

上面代码是正确的。

论坛徽章:
0
3 [报告]
发表于 2007-04-30 08:41 |只看该作者
将mysql_fetch_array 换成 mysql_fetch_object后是不是做如下修改:
printf ("ID: %s  Name: %s", $row["id"], $row["name"]);
printf ("ID: %s  Name: %s", $row->id, $row->name);

论坛徽章:
0
4 [报告]
发表于 2007-05-09 01:26 |只看该作者
和楼主相似的问题:
我用mysql_fetch_row时,使用while($row=mysql_fetch_row($query){echo $row;}时,只显示第一条记录,且无限循环.使用mysql_fetch_array时,只显示第二条记录,且无限循环.

论坛徽章:
0
5 [报告]
发表于 2007-05-09 07:28 |只看该作者
刚才我又试试,发现了一个有趣的现象:
$rowcontext=mysql_fetch_row($result);
while($rowcontext){echo $rowcontext; }
就会出错:无限循环,且一直显示第一行的结果.
然后我又尝试下面的代码:
$i=10;
while($i&&$rowcontext=mysql_fetch_row($result){mysql_data_seek($result,$i);echo $rowcontext; $i--;}
程序居然输出第一行,然后才从第10行倒序输出,呵呵.
看起来PHP在循环时,函数mysql_fetch_row只有在循环体内,指针才能按我们预想的来移动.

论坛徽章:
0
6 [报告]
发表于 2007-05-09 07:42 |只看该作者
建议LZ在循环体里放入mysql_data_seek(int result ,int row),看看指针是怎么移动的.也许这样就会发现那里可能会有问题了.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP