Php DB在不同月份的两个日期之间获取数据时给出空结果集

Php DB在不同月份的两个日期之间获取数据时给出空结果集,php,mysql,sql,Php,Mysql,Sql,我正在使用php/mysql。当我尝试在两个日期之间获取数据时,一切正常。但当我想在两个月之间获取数据时,例如:2014年1月31日和2014年2月3日,它不工作,并给出空结果集。它的工作周期为一个月 我的问题是: $sql1="select reg.id, payonline.regno as FORM_NO, payonline.paydate as DATE, reg.stufname as FIRSTNAME,

我正在使用php/mysql。当我尝试在两个日期之间获取数据时,一切正常。但当我想在两个月之间获取数据时,例如:2014年1月31日和2014年2月3日,它不工作,并给出空结果集。它的工作周期为一个月

我的问题是:

$sql1="select
        reg.id, 
        payonline.regno as FORM_NO,
        payonline.paydate as DATE,


        reg.stufname as FIRSTNAME,
        reg.stumname as MIDDLENAME,
        reg.stulname as LASTNAME,
        reg.stuemail as EMAIL,
        DATE_FORMAT(reg.studob,'%d-%m-%Y') as DOB,
        reg.stugender as GENDER,
        reg.stumobile as MOBILE,

        prg.paymentmode as PAYMENTMODE,
        prg.examdate as TESTDATE,
        prg.examcenter as EXAM_CENTER,
        prg.hostel as HOSTEL,
        prg.coursetype as PRG_TYPE,
        prg.campus1 as CAMPUS1,
        prg.course1 as PRG_NAME1,
        prg.campus2 as CAMPUS2,
        prg.course2 as PRG_NAME2,
        prg.pgd_intrested as pgd_intrested,
        prg.pgd_course1 as pgd_course1,
        prg.pgd_campus1 as pgd_campus1,
        prg.pgd_course2 as pgd_course2,
        prg.pgd_campus2 as pgd_campus2,
        family.stufname as FATHERNAME,
        family.stufoccupation as FATHER_OCCUPATION,
        family.stufmobile as FATHER_MOBILE,
        family.stufspecify as FATHER_SPECIFY,
        family.stufincome as FATHER_INCOME,
        family.stufemail as FATHER_EMAIL,
        family.stumname as MOTHERNAME,
        family.stumoccupation as MOTHER_OCCUPATION,
        family.stummobile as MOTHER_MOBILE,
        family.stumspecify as MOTHER_SPECIFY,
        family.stumincome as MOTHER_INCOME,
        family.stumemail as MOTHER_EMAIL,
        family.guardianname as GUARDIAN,
        family.guardianaddress as GUARDIAN_ADDRESS,
        family.guardianphone as GUARDIAN_PHONE,
        address.presentaddress as PRESENT_ADDRESS,
        address.presentcity as PRESENT_CITY,
        address.presentstate as PRESENT_STATE,
        address.presentpin as PRESENT_PIN,
        address.presentcountry as PRESENT_COUNTRY,
        address.presentphone as PRESENT_PHONE,  
        address.permanentaddress as PERMANENT_ADDRESS,
        address.permanentcity as PERMANENT_CITY,
        address.permanentstate as PERMANENT_STATE,
        address.permanentpin as PERMANENT_PIN,
        address.permanentcountry as PERMANENT_COUNTY,
        address.permanentphone as PERMANENT_PHONE,
        address.mailingaddress as MAILING_ADDRESS,

        edu.10_streamname as 10_STREAM,
        edu.10_institutename as 10_INSTITUTE,
        edu.10_year as 10_YEAR,
        edu.10_board as 10_BOARD,
        edu.10_percentage as 10_PERCENTAGE,
        edu.10_subjects as 10_SUBJECTS,

        edu.12_streamname as 12_STREAM,
        edu.12_institutename as 12_INSTITUTE,
        edu.12_year as 12_YEAR,
        edu.12_board as 12_BOARD,
        edu.12_percentage as 12_PERCENTAGE,
        edu.12_subjects as 12_SUBJECTS,

        edu.g_streamname as G_STREAM,
        edu.g_institutename as G_INSTITUTE,
        edu.g_year as G_YEAR,
        edu.g_university as G_UNIVERSITY,
        edu.g_percentage as G_PERCENTAGE,
        edu.g_subjects as G_SUBJECTS,

        edu.pg_streamname as PG_STREAM,
        edu.pg_institutename as PG_INSTITUTE,
        edu.pg_year as PG_YEAR,
        edu.pg_university as PG_UNIVERSITY,
        edu.pg_percentage as PG_PERCENTAGE,
        edu.pg_subjects as PG_SUBJECTS,

        edu.m_streamname as M_STREAM,
        edu.m_institutename as M_Institute,
        edu.m_year as M_YEAR,
        edu.m_university as M_UNIVERSITY,
        edu.m_percentage as M_PERCENTAGE,
        edu.m_subjects as M_SUBJECTS,

        ext.stuexamcenter as EXAMCENTER,
        ext.activities as ACTIVITES,
        ext.awards as AWARDS,
        ext.options as OPTIONS,
        ext.mat as MAT_YEAR,
        ext.matscore as MAT_SCORE,
        ext.cat as CAT_YEAR,
        ext.catscore as CAT_SCORE,
        ext.gmat as GMAT_YEAR,
        ext.gmatscore as GMAT_SCORE,

        work.job1 as JOB1,
        work.org1 as ORG1,
        work.designation1 as DESIGNATION1,
        work.sdate1 as START_DATE1,
        work.edate1 as END_DATE1,

        work.job2 as JOB2,
        work.org2 as ORG2,
        work.designation2 as DESIGNATION2,
        work.sdate2 as START_DATE2,
        work.edate2 as END_DATE2,

        work.job3 as JOB3,
        work.org3 as ORG3,
        work.designation3 as DESIGNATION3,
        work.sdate3 as START_DATE3,
        work.edate3 as END_DATE3,

        dd.ddno as DD_NO,
        dd.dddate as DD_DATE,
        dd.ddbank as DD_BANK,

        payonline.receiptno as RECEIPT_NO,
        payonline.txnno as TRANSACTION_NO,

        payonline.status as STATUS,
        payonline.amount as AMOUNT

         from  registration as reg
         join programme as prg on reg.id=prg.stuid              
         join family on reg.id=family.stuid         
         join address on reg.id=address.stuid 
         join education as edu on reg.id=edu.stuid
         join extradetail as ext on reg.id=ext.stuid
         join workexperience as work on reg.id=work.stuid
         join demanddraft as dd on reg.id=dd.stuid
         join payonline on reg.id=payonline.stuid where payonline.status='success' and payonline.paydate >= '".$_POST['date1']."' and payonline.paydate <= '".$_POST['date2']."'";
$sql1=“选择
注册号,
PaynLine.regno作为表格编号,
PaynLine.paydate作为日期,
注册stufname作为名字,
注册stumname为中间名,
注册stulname为姓氏,
注册电子邮件为电子邮件,
日期格式(注册studob,“%d-%m-%Y”)为DOB,
将性别作为性别,
注册号stumobile为MOBILE,
prg.paymentmode作为paymentmode,
prg.examdate作为测试日期,
prg.examcenter作为考试中心,
公共旅馆作为旅馆,
prg.coursetype作为prg_类型,
prg.campus1作为campus1,
prg.course1作为prg_名称1,
prg.campus2作为campus2,
prg.课程2作为prg_名称2,
prg.pgd_作为pgd_利益相关者,
prg.pgd_课程1作为pgd_课程1,
prg.pgd_校区1作为pgd_校区1,
prg.pgd_课程2作为pgd_课程2,
prg.pgd_校区2作为pgd_校区2,
family.stufname作为父名,
作为父亲职业的家庭,
family.stufmobile作为MOBILE父亲,
family.stuf指定为父亲指定,
家庭。Stuffin以父亲的身份来收入,
family.stufemail作为父亲的电子邮件,
family.stumname作为母亲姓名,
作为母亲职业的家庭,
family.stummobile作为MOBILE的母亲,
family.stums指定为母亲指定,
家庭。Stumin作为母亲的收入,
family.stumemail作为母亲的电子邮件,
family.guardianname作为监护人,
family.guardianaddress作为监护人的地址,
family.guardianphone作为监护人电话,
address.presentaddress作为当前地址,
address.presentcity作为当前城市,
address.presentstate作为当前状态,
address.presentpin作为PRESENT\u PIN,
address.presentcountry作为当前国家/地区,
address.presentphone作为当前电话,
address.permanentaddress作为永久地址,
address.permanentcity作为永久城市,
address.permanentstate作为永久州,
address.permanentpin作为永久密码,
address.permanentcountry作为永久县,
address.permanentphone作为永久电话,
address.mailingaddress作为邮寄地址,
edu.10_流名称为10_流,
教育学院名称为10大学学院,
教育年度为10年,
edu.10_板作为10_板,
教育单位:10%为10%,
教育单元10个科目作为10个科目,
edu.12_流名称为12_流,
edu.12_学院名称为12_学院,
教育12年作为12年,
edu.12_板作为12_板,
教育单位12%为12%,
教育学12科作为12科,
edu.g_streamname作为g_STREAM,
edu.g_institutename作为g_INSTITUTE,
教育年作为教育年,
作为g_大学的edu.g_大学,
edu.g_百分比作为g_百分比,
教育大学科目作为大学科目,
edu.pg_streamname作为pg_STREAM,
edu.pg_institutename作为pg_INSTITUTE,
教育年度作为教育年度,
edu.pg_大学作为pg_大学,
edu.pg_百分比作为pg_百分比,
edu.PGU科目作为PGU科目,
edu.m_streamname作为m_STREAM,
曼彻斯特大学教育学院,
教育硕士年作为硕士年,
曼彻斯特大学作为曼彻斯特大学,
教育硕士学位百分比作为硕士学位百分比,
教育硕士科目作为硕士科目,
ext.EXAMCENTER作为EXAMCENTER,
外部活动作为活动,
外部奖励作为奖励,
ext.options作为选项,
外部材料作为材料年,
外部matscore作为MAT_分数,
ext.cat作为cat_年,
外部catscore作为CAT_分数,
外接gmat作为gmat大学年度,
外接gmatscore作为GMAT_分数,
work.job1作为job1,
work.org1作为org1,
工作名称1作为名称1,
work.sdate1作为开始日期1,
work.edate1作为结束日期1,
work.job2作为job2,
work.org2作为org2,
工作名称2作为名称2,
work.sdate2作为开始日期2,
work.edate2作为结束日期2,
工作。工作3作为工作3,
work.org3作为org3,
工作名称3作为名称3,
work.sdate3作为开始日期3,
work.edate3作为结束日期3,
dd.ddno作为dd_NO,
dd.dddate作为dd_日期,
dd.ddbank作为dd_银行,
付款行。收据编号作为收据编号,
PaynLine.txnno作为交易编号,
PaynLine.status作为状态,
付款行。金额作为金额
从注册为注册
以注册id=prg.stuid上的prg身份加入计划
在注册表id=family.stuid上加入家庭
注册id=address.stuid上的加入地址
以注册id=edu.stuid的教育身份加入教育
将extradetail作为ext on reg.id=ext.stuid连接
加入workexperience作为在注册表id=work.stuid上工作
将demanddraft作为注册id=dd.stuid上的dd加入

在reg.id=paynline.stuid上加入paynline,其中paynline.status='success'和paynline.paydate>='“$\u POST['date1']”和paynline.paydate在我看来,最好的解决方案是以日期、日期时间或时间戳格式保存日期。

但在您的情况下,如中所述,您可以在查询中使用和在您的条件下将它们转换为DATETIME:


StruthtoJoad(左边(Pay-No.PayLoad,PayLoad,PayLo.PayDATE),'%m/%D/%y ')在2010-07-28和'2010-07-29′/P>中,你的<代码> PayDATE < /Case>字段有哪些类型?也许你可以将这个问题简化为一个更简单的情况,以便在选择列表中没有厨房接收器?也请考虑SQL注入