PHP 和MYSQL的查询,数据库里有多条数据,为什么只能查询出一行?

function getPhone()
{
$sql="select * from PhoneLine inner join DepartInfo on PhoneLine.DepartID=DepartInfo.DepartID"
//sql语句能查出多行数据
$result = $this->mysqli->query ( $sql );
$record=array();
//在这里后,输出 result->num_rows 是等于1
//判断是否有数据
if($result && $result->num_rows > 0)
{
//有数据循环添加
while ($row=$result->fetch_assoc())
{
$record[]=$row;
}
return $record;
}else
{
return null;
}
}

输出 result->num_rows 是等于1

说明查询出来的结果集只有一行。应该是SQL语句问题。追问

但是我将sql语句打印出来,到数据库里运行,能查询出很多数据啊

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-18
两张表里分别存有多条数据,但并不一定在使用inner join之后能够得到多条信息。好好分析一下http://erlengleng.javaeye.com/blog/356190这个网址的内容,看是否查询的sql是你想要的结果。追问

我试了下,查一张表也是一样的,表里有多行数据,查询出来的也就只有一行

追答

输出一下 $result ,看是对象,还是数据集。一步一步的追一下吧 。

追问

输出$result
报错,页面无法显示

追答

你的QQ

追问

1146088843

本回答被提问者采纳
相似回答