php - 我可以修复我的代码,该代码从函数返回一个空数组并且没有错误消息
问题描述
我有一个函数返回空的问题。我正在尝试使用 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;
}
解决方案
你必须先检查mysqli_affected_rows
。也许您的代码没有错误,但您没有来自 db 的项目要显示。
推荐阅读
- java - 通过 JNI 在 C 和 Java 之间来回调用
- android - Espresso:检查其中一项检查是否为真
- google-cloud-dataflow - 如何使用具有多个键的 apache beam api 聚合数据
- c - 尝试将 Oled 显示器与 MLX90614 红外传感器连接
- javascript - 在 jQuery UI datepicker 中获取所选月份的天数
- android - .a lib 文件中的文本重定位
- django - 我无法使用 CreateView 在小部件调整 render_field 中获得选定的学生
- android - 如何在 TextInputLayout 中分别设置提示和错误文本的样式
- php - 用页面 wordpress 填充数组
- ios - MapBox 多边形绘图