PHP MySQL 使用 mysqli_fetch_all 分页数据

标签 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" }

最佳答案

这是因为你写的语法错误。

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

应该是

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

Mysql 需要两个步骤

关于PHP MySQL 使用 mysqli_fetch_all 分页数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47320578/

相关文章:

PHP/Mysql 无法从 sql 数据库检索当前登录的名字

php - 只为第一个查询行插入代码,然后什么都不插入

mysql - 如何在没有主键的情况下合并 MySQL 表,并根据 3 列确定一个表的优先级?

php - 创建表后,它显示此数组( [0] => 00000 [1] => [2] => )

php - Swift Mailer 只发送表格的最后一行

php - 来自带有 jquery 的目录的随机图像选择器

php - 如何为 Yii2 创建文件上传 REST API Controller

PHP 错误日志记录无法通过 .htaccess 工作

php - 使用 mysqli 将表单 $_POST 数组插入 MySQL 数据库

php - #1062 - 主键重复条目