您好我是php的初学者,我尝试使用日期列从表(billing_details)中检索数据(在单个列的两个日期之间即预订)
下面是源代码
$from = mysql_real_escape_string($_POST['from']);
$to = mysql_real_escape_string($_POST['to']);
$from = date("d-m-Y", strtotime($from));
$to = date("d-m-Y", strtotime($to));
echo $from;
$sql = mysql_query("select * from billing_details where SRF ='$_POST[srf]' or Service_Type ='$_POST[service]' or Status ='$_POST[status]' or Branch ='$_POST[branch]' or DATE(`Booking`) between '".$from."' and '".$to."'");
![I have select two different dates to get datas between the selected dates , but nothing is retrieved, only the echo $from is retrieved the the selected date][1]
Kindly help me to solve this issue, Thanks in advance
Regards,
Abdul hameed
答案 0 :(得分:0)
我相信你必须将一个变量分配给$ _POST,而不是像那样输入。
修改强>
$sql = mysql_query("select * from billing_details where SRF ='$_POST[srf]' or Service_Type ='$_POST[service]' or Status ='$_POST[status]' or Branch ='$_POST[branch]' or DATE(`Booking`) between '".$from."' and '".$to."'");
对于你的$ _POST [srf]和$ _POST [service],请这样说:
$srf = $_POST['srf'];
$service = $_POST['service'];
$sql = mysql_query("SELECT * FROM billing_details WHERE SRF = '$srf' or Service_Type = '$service'.... etc etc")
答案 1 :(得分:0)
您的索引缺少单引号会更改您的查询
$sql = mysql_query("select * from billing_details where SRF ='".$_POST['srf']."' or Service_Type ='".$_POST['service']."' or Status ='".$_POST['status']."' or Branch ='".$_POST['branch']."' or DATE(`Booking`) between '".$from."' and '".$to."'") or die(mysql_error());
不要将Global直接用于您的查询。
了解mysqli
或PDO
,因为mysql
已被弃用。
答案 2 :(得分:0)
您的日期格式不正确,应该是' Y-m-d'否则mysql将无法识别它。学习习惯这种格式:)
此外,由于您是初学者,请注意您应该检查strtotime返回。它的计算结果为false然后输入无效并将其传递给date()函数将导致1969-12-31我相信