我试图制作一个报告,用户选择日期并向用户显示数据。我的查询非常简单:
$query="SELECT * FROM estructec.ingresos WHERE fechaIngreso BETWEEN STR_TO_DATE('$fechas[0]','%d/%m/%Y') AND STR_TO_DATE('$fechas[1]','%d/%m/%Y')";
当我测试两个日期时,结果只返回一行数据,即使还有更多。
结果:
Array ( [id] => 3 [fechaIngreso] => 2016-11-30 [fechaFactura] => 2016-11-10 [guia] => 3214 [provedor] => sdf [items] => a:1:{i:0;a:3:{s:16:"Tornillos Negros";s:1:"1";s:6:"Pernos";s:1:"1";s:9:"Plaquetas";s:1:"1";}} [imagePath] => 1480523149image.jpg )
还有三行('阵列')应该出现,但它们不会出现。
' fechaIngreso'是日期类型
我的php:
if(isset($_POST['submit'])) {
// Egresos
if ($_POST['submit'] == 'ingresosEgresos') {
function array_map_callback($a) {
global $con;
return mysqli_real_escape_string($con, $a);
}
$reporte=mysqli_escape_string($con, $_POST['reporteIE']);
$fecha=$_POST['fecha'];
$fechas=array_map("array_map_callback", $fecha);
if(!isset($reporte) || $reporte=="" || !isset($fecha) || $fecha=="") {
//
} else {
$query="SELECT * FROM estructec.ingresos WHERE fechaIngreso BETWEEN STR_TO_DATE('$fechas[0]','%d/%m/%Y') AND STR_TO_DATE('$fechas[1]','%d/%m/%Y')";
$result = $con->query($query);
$row = mysqli_fetch_assoc($result);
$test = $row;
print_r($test);
exit();
}
}
}
我的PHP中没有显示任何错误。我究竟做错了什么?在此先感谢您的帮助!