php 使用mysql_fetch_row()函数取不到数组的一个值,且使用mysql_fetch_array()报错

数据库<?$conn=@mysql_connect("localhost","root","")ordie("连接错误!");mysql_select_db("test"... 数据库

<?
$conn=@mysql_connect("localhost","root","") or die("连接错误!");
mysql_select_db("test",$conn);
$sql="SELECT * FROM user";
$query=@mysql_query($sql,$conn) or die("run error");
$row=mysql_fetch_row($query);
while($row=mysql_fetch_row($query))
echo $row[0]."<br>";
?>
循环之后只能得到结果只有:4,但是第一条记录的1没有显示
更正:循环之后只能得到结果只有:4,但是第一条记录的2没有显示
图片是数据库表的结构。
若使用使用mysql_fetch_array()时, $row[id],会提示错误:
Notice: Use of undefined constant id - assumed 'id' in D:\test\index.php on line 11
4
但是能得到结果4。
若要使用数组名做下标是不是需要做什么配置?
谢谢回答!!!
展开
 我来答
yegao
2011-12-24 · TA获得超过1154个赞
知道小有建树答主
回答量:533
采纳率:66%
帮助的人:390万
展开全部
只有4是对的,循环到最后只打印出最后一行的数据,请把while前面的$row=mysql_fetch_row($query);去掉
也就是说你前面一句$row=mysql_fetch_row($query);已经让行数下移了一次,如果你有三行数据的话,就会打印出两行,以此类推

人在不,不懂就问,懂了就给分吧,圣诞快乐
更多追问追答
追问
这个明白了,那为啥使用mysql_fetch_array()时, $row[id],会提示错误:
Notice: Use of undefined constant id - assumed 'id' in D:\test\index.php on line 11
4
追答
你写成$row['id'],在id上加引号
天色无双
2011-12-24 · TA获得超过394个赞
知道小有建树答主
回答量:304
采纳率:0%
帮助的人:268万
展开全部
mysql_fetch_row()返回的是一个索引数组,所以你用$row['id']是得不到值得,你可以使用mysql_fetch_array() 和mysql_fetch_assoc()
另外mysql_fetch_row()返回的是一个资源类型,资源类型你可以理解成它里面有个指针,每读取一次,同时指针便会指向表中的下一行,读到最后返回false;你看,你的代码:while 循环上面已经读取了一次,”指针“已经 到了第二行。所以当然只能读第二行了。(把while循环上面的一行$row=mysql_fetch_roiw()删去就ok);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式