Php 如果表中的日期和时间字段不同,如何在日期和时间之间使用mysql

Php 如果表中的日期和时间字段不同,如何在日期和时间之间使用mysql,php,mysql,sql,Php,Mysql,Sql,我有一个表reservasi,其结构数据如下: id\u reservasi 包名称编辑,PDO版本: $cek_pembelian=$this->pdo->prepare(" SELECT SUM(netto_bersih) AS netto_beli, SUM(jumlah_dibayar) AS rupiah_beli FROM p_penerimaan_tbs WHERE str_to_date(CONCAT(

我有一个表
reservasi
,其结构数据如下:

  • id\u reservasi
  • 包名称
    编辑,PDO版本:

    $cek_pembelian=$this->pdo->prepare("
        SELECT 
            SUM(netto_bersih) AS netto_beli, 
            SUM(jumlah_dibayar) AS rupiah_beli 
        FROM p_penerimaan_tbs 
        WHERE str_to_date(CONCAT(tanggal,' ',jam_keluar) ,'%d-%m-%Y %H:%i:%s') 
            BETWEEN str_to_date(:datetime_start ,'%d-%m-%Y %H:%i:%s') AND now()
            ");
    $cek_pembelian->execute(array(
        ':datetime_start'=>$tanggal_rekap .' '. $jam_rekap
        ));
    

    我想这就是你想要的

    MySQL 5.6架构设置

    SELECT SUM(price) AS total
    FROM t 
    WHERE str_to_date(CONCAT(date_check_in,' ',time_check_in) ,'%d-%m-%Y %H:%i:%s')
    BETWEEN '2017-01-24 18:20:33' AND now()
    
    | total |
    |-------|
    |   300 |
    
    查询1

    SELECT SUM(price) AS total
    FROM t 
    WHERE str_to_date(CONCAT(date_check_in,' ',time_check_in) ,'%d-%m-%Y %H:%i:%s')
    BETWEEN '2017-01-24 18:20:33' AND now()
    
    | total |
    |-------|
    |   300 |
    

    SELECT SUM(price) AS total
    FROM t 
    WHERE str_to_date(CONCAT(date_check_in,' ',time_check_in) ,'%d-%m-%Y %H:%i:%s')
    BETWEEN '2017-01-24 18:20:33' AND now()
    
    | total |
    |-------|
    |   300 |
    

    感谢@Blag的查询

    工作完美

    已编辑的Mysql查询:

    选择总和(价格)作为总计
    从t
    其中str-to-date(CONCAT(日期签入,,,时间签入),“%d-%m-%Y%H:%i:%s”)
    
    在str_to_date(“$date_check_in_previous$time_check_in_previous”)和now()之间(

    感谢编辑@vkpBTW,您很容易受到SQL注入的攻击,请阅读以了解如何保护您自己我正在使用pdo进行CRUD,先生…感谢您的回答。。。我正试着这样问<代码>$cek_pembelian=$this->pdo->prepare(“选择SUM(netto_bersih)作为netto_beli,SUM(jumlah_dibayar)作为卢比从p_penerimaan_tbs,其中str_to_date(CONCAT(tanggal),jam_keluar),“%d-%m-%Y%H:%i:%s”)在“$tanggal_rekap$jam_rekap”和now()之间结果和总计行。。。不filter@DammahSifLa看一下编辑。你的问题是你如何写你的约会。MySQL的方式是
    YYYY-MM-DD HH:MM:SS
    ,因此除此之外的任何内容都应该使用
    str\u to\u date()
    手动解析。顺便说一句,我没有将php
    $var
    放在SQL中,而是使用了
    :flag
    ,并在
    execute()
    中提供PDO应该使用的
    :flag=>$value
    数组。不要使用这个,SQL注入易受攻击: