php关于mysql的select语句的一个问题
php连接数据库后,用select*查询表中所有数据,但只返回第一条,数据库连接没问题。为什么会这样...
php连接数据库后,用select * 查询表中所有数据,但只返回第一条,数据库连接没问题。
为什么会这样 展开
为什么会这样 展开
3个回答
展开全部
看看你select语句是怎么写的?还有是你怎么执行这条SQL语句的,是不是直接$row=mysql_fetch_arry(mysql_query($sql));循环多个,得用while($row=mysql_fetch_array()){}
追问
$sql=select * from table;
表里有3条内容,
$row=fetch_array($sql);
print_r($row);
但是只打印出了一条内容,也就是id=1的内容。相当于语句成了 select * from table where id=1
我也试过将语句改成 select * from table where id=2,可以打印出id=2的内容
但是无法讲所有内容打印出来
追答
sql语句中的table应该加`号,否则我感觉会出错,因table是sql语句中的保留字。另外PHP中没有fetch_array这个函数吧。这样写:$sql="select * from `table`";$query = mysql_query($sql);
while($row = mysql_fetch_array($query)){print_r($row);},这样有几条就输出几条。再看看手册吧,mysql_fetch_array() 函数从结果集中取得一行作为关联数组,或数字数组。是一行,所以你的只有一条数据。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
排查问题方法:直接在mysqladmin等工具执行那句select 语句,看是不是此语句问题。
你的php读取查询结果的数组写法是否正确了?
你的php读取查询结果的数组写法是否正确了?
追问
$sql=select * from table;
表里有3条内容,
$row=fetch_array($sql);
print_r($row);
但是只打印出了一条内容,也就是id=1的内容。相当于语句成了 select * from table where id=1
我也试过将语句改成 select * from table where id=2,可以打印出id=2的内容
但是无法讲所有内容打印出来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是怎么知道只返回了第一条啊?select语句写出来看下,还有你是怎么显示你得到的结果?
追问
$sql=select * from table;
表里有3条内容,
$row=fetch_array($sql);
print_r($row);
但是只打印出了一条内容,也就是id=1的内容。相当于语句成了 select * from table where id=1
我也试过将语句改成 select * from table where id=2,可以打印出id=2的内容
但是无法讲所有内容打印出来
追答
$row=fetch_array($sql);
print_r($row);
输出是要循环的,不然只有一条记录
$sql="select * from table";
$result=mysql_query($sql);
while($row=mysql_fetch_array($result))
{
print_r($row);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询