PHP ADODB上的查询-介于运算符之间

PHP ADODB上的查询-介于运算符之间,php,sql,date,adodb,between,Php,Sql,Date,Adodb,Between,我有一个带有两个日期选择器(dd/mm/yyyy)的表单 代码: <label for="from">From Date:</label> <input type="text" id="from" name="from"> <label for="to">to Date:</label> <input type="text" id="to" name="to"> $rs = $con->execute($sql)


我有一个带有两个日期选择器(dd/mm/yyyy)的表单
代码:

<label for="from">From Date:</label>
<input type="text" id="from" name="from">
<label for="to">to Date:</label>
<input type="text" id="to" name="to">  
$rs = $con->execute($sql);
第43行:

<label for="from">From Date:</label>
<input type="text" id="from" name="from">
<label for="to">to Date:</label>
<input type="text" id="to" name="to">  
$rs = $con->execute($sql);
表格:(不计算从1到100的数字)

首先,您的代码是对SQL注入的开放邀请。您应该使用参数化查询

然后,如果数据库是MS Access,并且
[Data Ord]
date类型,那么在SQL中,您应该用
#
而不是
'
来环绕日期,并按照以下格式正确设置日期:
MM/DD/YYYY

像这样的东西

$input=$_POST['input'];
$id=$_POST['id'];
$tipo=$_POST['tipo'];
$numero1=$_POST['numero1'];
$numero2=$_POST['numero2'];
$data1=date('m/d/Y', strtotime($_POST['from']));;
$data2=date('m/d/Y', strtotime($_POST['to']));;

if (empty($input)) {
    $sql="SELECT [Id Ord] AS [ID], [Tipo Ord] AS [Tipo], [N Ord] AS [Numero], [Data Ord] AS [Data], [Ragione Sociale], [Indirizzo], [TotImp] AS [IMPORTO TOTALE], [TotIva] AS [IMPORTO IVA] FROM [Ordini] WHERE [Id Ord] LIKE '$id' OR [Tipo Ord] LIKE '$tipo' OR [Data Ord] BETWEEN #$data1# AND #$data2#";
} else {
    $sql="SELECT [Id Ord] AS [ID], [Tipo Ord] AS [Tipo], [N Ord] AS [Numero], [Data Ord] AS [Data], [Ragione Sociale], [Indirizzo], [TotImp] AS [IMPORTO TOTALE], [TotIva] AS [IMPORTO IVA] FROM [Ordini] WHERE [Indirizzo] LIKE '%$input%' OR [Ragione Sociale] LIKE '%$input%' OR [Id Ord] LIKE '$id' OR [Tipo Ord] LIKE '$tipo'" OR [Data Ord] BETWEEN #$data1# AND #$data2#";
}

我不知道您的帖子数据是如何格式化的,因此您可能需要更改我格式化日期的方式

谢谢!这是正确的,我只更改了
$data1=date('d/m/Y',strottime($\u POST['from'])因为我的日期格式是DD/MM/YYYY。为了在这两个数字之间进行运算,我必须将number1和number1转换成数字格式?所以:
$numero2=int($_POST['numero2'])?:)