php - mysql_fetch_array 未获取完整数据?

标签 php mysql

我有一个代码,可以从 mysql 表中获取数据并将其转换为 pdf 文档,该代码工作正常,只是跳过了第 1 行。

这是我删除了 pdf 生成过程的代码,因为问题出在获取数据的循环中。

请帮忙。

<?php
    session_start();
if(isset($_SESSION['user']))
{
    $cr = $_POST['cour'];
    $s = $_POST['sem'];
    require('fpdf.php');
    include('../includes/connection.php');
    $sql = "SELECT * FROM `student` WHERE AppliedCourse ='$cr'";
    $rs = mysql_query($sql) or die($sql. "<br/>".mysql_error());
    if(!mysql_fetch_array($rs))
    {
        $_SESSION['db_error'] = "<h2><font color = 'RED'>No such course found! Pease select again.</font></h2>";
        header('Location: prinrepo.php');
    }
    else {

    for($i = 0;$i <= $row = mysql_fetch_array($rs);$i++)
     {
            $formno[$i] = $row ['FormNo']; 
            $rno[$i] = $row ['rollno'];
            $snm[$i] = $row ['StudentNm'];          
            $fnm[$i] = $row ['FathersNm'];
            $mnm[$i] = $row ['MothersNm'];
            $addr[$i] = $row['Address'];
            $pic[$i] = $row['imagenm'];
            $comm[$i] = $row['SocialCat'];

        echo $formno[$i]."<br />";
        echo $rno[$i]."<br />";
        echo $snm[$i]."<br />";
        echo $fnm[$i]."<br />";
        echo $mnm[$i]."<br />";
        echo $addr[$i]."<br />";
        echo $pic[$i]."<br />";
        echo $comm[$i]."<br />";
        echo "<br />";
    }
    }
    mysql_close($con);
    }
?>

最佳答案

您正在获取 for() 循环之外的第一行,然后您错过了它。

mysql_query()之后,您应该使用mysql_num_rows()来检查结果中是否有任何行,然后在for循环中获取它们。

更多信息在这里:http://php.net/manual/fr/function.mysql-num-rows.php

您的代码将如下所示:

$sql = "SELECT * FROM `student` WHERE AppliedCourse ='$cr'";
$rs = mysql_query($sql) or die($sql. "<br/>".mysql_error());
if(0 == mysql_num_rows($rs)) {
    $_SESSION['db_error'] = "<h2><font color = 'RED'>No such course found! Pease select again.</font></h2>";
    header('Location: prinrepo.php');
} else {
    for($i = 0;$i <= $row = mysql_fetch_array($rs);$i++)
     {
        // Your code
    }
}

关于php - mysql_fetch_array 未获取完整数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13782413/

相关文章:

php - 打开两个唯一的 mysql 连接?

PHP上传文件如果无效设置其他值而不是随机单词

php - 更改密码后重新启动到默认 XAMPP 或获取用户 'root' @'localhost 的访问权限

mysql - 触发器从另一个表插入值 - Mysql

python - 从原子数据库事务中与外部世界通信

php - 使用Getid3生成mp3的30秒预览

php - 加快用 PHP 进行的 MySQL 查询

mysql - 在本地手动设置 MySQL 以运行 Laravel artisan migrate (无 homestead) ERROR 2002 (HY000)

基于最高日期和非唯一列的 MySQL JOIN

mysql - 哪个 SQL 查询需要更多时间? (MySQL)