繁体   English   中英

第一行不是来自php中的数据库

[英]1st row is not being from database in php

出于某种原因,我在从数据库中检索数据时遇到问题。 它不包括列出的第一个项目。

$sql=mysql_query("SELECT * FROM students WHERE (year = '" . mysql_real_escape_string($_SESSION['year']) . "') and ( branch= '" . mysql_real_escape_string(($_SESSION['branch'])). "') ");


$data=mysql_fetch_array( $sql );

print "<table>"
while($data = mysql_fetch_array( $sql )) 
 { 

 Print "<tr><td>".$data['idno']." </td><td>".$data['name'] . " </td></tr>";
 } 
print "</table>"

请帮我解决一下这个。 谢谢。

删除以下行:

$data=mysql_fetch_array( $sql ); 

mysql_fetch_array的调用将内部指针移动到下一行,因此除了while循环中的第一行之外,您将获得所有行。

您还可以使用mysql_data_seek重置内部指针。

mysql_data_seek ($sql, 0); // 0 for first row

这是因为您在使用前一次使用mysql_fetch_array。 第一个调用将获得第一个结果,然后您将进入while循环。 $data变量将擦除第二个结果分配的第一个结果,然后是第三个,第四个,依此类推。 由于while循环之前的这个调用,你总是会避免第一个结果

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM