首页 > 解决方案 > 我可以修复我的代码,该代码从函数返回一个空数组并且没有错误消息

问题描述

我有一个函数返回空的问题。我正在尝试使用 foreach 循环将结果从数据库显示到表中。(见代码)。我知道这个数组是空的,因为我使用 print_r($array) 来查看函数返回的内容,并且只有一个字符串“Array()”...

功能

function day_to_day_report(){
    require_once('database.php');
    global $db;
    $date = '"2020-01-02"';
    $paid = '"Y"';
    $clientID = 'C.Client_id';
    $query = 'SELECT I.CLIENT_ID , CONCAT( C.C_NAME," ", C.C_SURNAME ) , I.INV_NUM , I.INV_DATE 
    FROM tblinv_info I, tblclientinfo C
    WHERE I.inv_date < :date AND I.INV_PAID <> :paid AND I.Client_id = :clientId
    ORDER BY I.Inv_Date ASC ';
    $statement1 = $db->prepare($query);
    $statement1->bindValue(':date',$date);
    $statement1->bindValue(':paid',$paid);
    $statement1->bindValue(':clientId', $clientID);
    $statement1->execute();
    $day_to_day = $statement1->fetchAll();
    $statement1->CloseCursor();
    
    return $day_to_day;
    } 

此函数不返回错误消息,也不返回数据库中的数据。

用于显示表格的 foreach 代码

foreach($day_to_days as $dayReport) : 
                    <tr>
                        <td>1<?php echo "$dayReport[0]"; ?></td>
                        <td>2<?php echo "$dayReport[1]"; ?></td>
                        <td>3<?php echo "$dayReport[2]"; ?></td>
                        <td>4<?php echo "$dayReport[3]"; ?></td>
                    </tr>
                    <?php 
            endforeach;        
      } 

标签: php

解决方案


你必须先检查mysqli_affected_rows。也许您的代码没有错误,但您没有来自 db 的项目要显示。


推荐阅读