使用mysqli_fetch_all的PHP MySQL分页数据

时间:2017-11-16 02:30:16

标签: php mysql

我在ORACLE数据库

上使用PHP分页
$strSQL = oci_parse($c1, "
    SELECT
    L.LINEID,
    L.LINENAME,
    L.ACTIVE,
    TO_CHAR(L.DATEADDED, 'DD-MON-YYYY HH24:MI:SS') AS DATEADDEDS,
    L.ADDEDBY,
    L.SECTIONID_FK,
    S.SECTIONID,
    S.SECTIONNAME
    FROM
    WA_GA_TBL_LINES L,
    WA_GA_TBL_SECTION S
    WHERE
    L.SECTIONID_FK = S.SECTIONID
    ORDER BY L.DATEADDED DESC
"); 
oci_execute ($strSQL,OCI_DEFAULT);
$Num_Rows = oci_fetch_all($strSQL, $dData);

在ORACLE数据库上,它工作正常。

现在我已经转移到MySQL数据库了

$strSQL = mysqli_query($c1, "
    SELECT * FROM tb_slides ORDER BY date_added DESC
"); 
$Num_Rows = mysqli_num_rows($strSQL);
$dData = mysqli_fetch_array($strSQL);
var_dump($dData);

但得到了错误:

Notice: Undefined variable: dData in

Warning: mysqli_fetch_array(): The result type should be either MYSQLI_NUM, MYSQLI_ASSOC or MYSQLI_BOTH in

有没有办法解决它?

更新表格数据显示,你可以看到我在下面的代码上使用循环来显示数据。

if($Num_Rows > 0)
{
    if($Page > 0)
    {
        if(is_numeric($Page))
        {
            for($i=$Page_Start;$i<$Page_End;$i++)
            {
            ?>
               <td class="spanSlide<?php echo $dData['slide_id'][$i]; ?>"><?php echo htmlspecialchars($dData['slide_content'][$i]); ?></td><input type="hidden" class="slideValue<?php echo $dData['slide_id'][$i]; ?>" id="slideValue" value="<?php echo htmlspecialchars($dData['slide_content'][$i]); ?>"/>
            <?php
            }
        }
    }
}

的var_dump

array(12) { [0]=> string(1) "4" ["slide_id"]=> string(1) "4" [1]=> string(346) "Melaksanakan shalat tahiyatul masjid sebelum duduk, sabda Rasulullah saw: Tatkala di antara kamu ke masjid maka bersalatlah dua rakaat sebelum duduk. Tidak boleh mengeraskan suara yang dapat mengganggu orang yang sedang melakukan shalat, meskipun dalam bentuk membaca al-Quran. Tidak boleh berjalan di depan orang yang sedang melaksanakan shalat." ["slide_content"]=> string(346) "Melaksanakan shalat tahiyatul masjid sebelum duduk, sabda Rasulullah saw: Tatkala di antara kamu ke masjid maka bersalatlah dua rakaat sebelum duduk. Tidak boleh mengeraskan suara yang dapat mengganggu orang yang sedang melakukan shalat, meskipun dalam bentuk membaca al-Quran. Tidak boleh berjalan di depan orang yang sedang melaksanakan shalat." [2]=> string(6) "hadits" ["slide_category"]=> string(6) "hadits" [3]=> string(1) "Y" ["active"]=> string(1) "Y" [4]=> string(19) "2017-11-09 00:00:00" ["date_added"]=> string(19) "2017-11-09 00:00:00" [5]=> string(1) "1" ["user_idfk"]=> string(1) "1" }

1 个答案:

答案 0 :(得分:0)

这是因为你写错了语法。

 $Num_Rows = mysqli_fetch_all($strSQL, $dData);

应该是

 $Num_Rows = mysqli_num_rows($strSQL);
 $dData = mysqli_fetch_all($strSQL);

Mysql需要两个步骤