两个日期之间的提取数据范围为

时间:2016-12-11 05:05:18

标签: php mysqli

我试图制作一个报告,用户选择日期并向用户显示数据。我的查询非常简单:

$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中没有显示任何错误。我究竟做错了什么?在此先感谢您的帮助!

0 个答案:

没有答案