2013-02-23 31 views
0

这里是我的PHP/SQL问题。这是代码:不同的SQL/PHP行为(仅返回1行)

代码:

$query = "SELECT DISTINCT student FROM classes LIMIT 100"; 
$result = mysqli_query($link, $query); 
$row = mysqli_fetch_array($result, MYSQLI_NUM); 
print_r($row); 

已经手动运行查询,我得到约40返回的值。那里一切都很好。但是,当我做print_r时,我只得到第一个返回值,即$ row数组只有一个条目。链接和数据库都很好,它似乎是我的数组处理。

有什么想法?

+2

'mysqli_fetch_array()'一次只检索一行。为了获得所有的行,你需要使用'while($ row = mysqli_fetch_array($ result)){/ * do stuff * /}'循环。' – DaveRandom 2013-02-23 20:58:09

回答

0

功能mysqli_fetch_array只有一次获取一行。考虑在循环中使用它:

while($row = mysqli_fetch_array($result, MYSQLI_NUM)) 
{ 
    print_r($row); 
} 
+0

谢谢。很好的答案! – Colin 2013-02-23 21:23:42

0

您需要遍历返回的行。试试这个:

$query = "SELECT DISTINCT student FROM classes LIMIT 100"; 
$result = mysqli_query($link, $query); 
while($row = mysqli_fetch_array($result, MYSQLI_NUM)) { 
    print_r($row); 
} 
+0

谢谢。很好的答案! – Colin 2013-02-23 21:08:13