Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中使用mysql_fetch_array()进行While循环_Php_Mysql - Fatal编程技术网

在PHP中使用mysql_fetch_array()进行While循环

在PHP中使用mysql_fetch_array()进行While循环,php,mysql,Php,Mysql,最近在我的一个项目中,我编写了以下代码,用于从数据库检索和打印数据 $query = "select * from tblteachers limit 0, 4"; $result= mysql_query($query) or die(mysql_error()); if(mysql_num_rows($result)>0) { while($fetchRow=mysql_fetch_array($result, MYSQL_BOTH)) { echo

最近在我的一个项目中,我编写了以下代码,用于从数据库检索和打印数据

$query = "select * from tblteachers limit 0, 4";
$result= mysql_query($query) or die(mysql_error());

if(mysql_num_rows($result)>0)
{   
    while($fetchRow=mysql_fetch_array($result, MYSQL_BOTH))
    {
      echo $fetchRow['id'];
    }
}

在TBLTachers表中有14行,查询得到4行,但问题是它缺少第一行而打印3行。就是打印2、3、4。

您可能使用了移动指针的东西。
尝试添加mysql\u data\u seek($result,0);在while语句之前

@Arif-第一行
id
是否为空?id在数据库中是自动递增的。所以它必须存在。当您从mysql监视器运行查询时,是否可以将其粘贴到查询的输出中?自动增量字段必须是非null/主键才能在MySQL中工作,但是如果您稍后通过
alter table
应用自动增量,在插入数据之后,很可能会有一个id为null的记录。MySQL\u两者都没有用,这是第二个参数的默认值,当它加载两倍相同的数据时,显然会占用内存。修改内部循环以输出不仅仅是行的id值如何?试试像回声“你好”这样的东西$fetchRow['id']。如果你得到四个howdy,你就知道循环执行了四次。同样,如果您在浏览器中查看此内容,请不要忘记使用“查看源代码”,因为html/浏览器会隐藏许多内容并使它们看起来不可见。