sql >> Database >  >> RDS >> Mysql

PDO PHP - Vind alle rijen tussen 2 datums - toont blanco

DATE_FORMAT() geeft een string terug, geen datum. 3 stringargumenten doorgeven aan BETWEEN ... wie weet wat dat gaat opleveren.

Gebruik om uw code terug te draaien:

$week_start = date('Y-m-d',time()+( 1 - date('w'))*24*3600);  
$week_end =  date('Y-m-d',time()+( 7 - date('w'))*24*3600); 

om uw datums op te maken zoals mySQL verwacht, en:

WHERE 
  start_date BETWEEN '".$week_start."' AND '".$week_end."'

in de zoekopdracht.

Of als u de voorkeur geeft aan een objectgeoriënteerde benadering, doe dan zoiets als dit:

$week_start = new DateTime; 
$week_end = new DateTime;
$week_start->setTimestamp(time()+( 1 - date('w'))*24*3600)); 
$week_end->setTimestamp(time()+( 7 - date('w'))*24*3600);

Doe dan in uw zoekopdracht:

WHERE 
  start_date 
      BETWEEN '".$week_start->format('Y-m-d')."'
      AND '".$week_end->format('Y-m-d')."'

Dan kun je voor al het andere het formaat herhalen zoals je wilt:

echo $date->format('d-m-Y'); // etc



  1. Probleem met retourvariabele in bash

  2. Een tabel maken op basis van een query met een andere tabelruimte (Oracle SQL)

  3. mysqlimport zonder mysql-installatie?

  4. Query om tabellen te vinden die het afgelopen uur zijn gewijzigd