使用“select * from”选择并识别mysql数据库中的冲突保留

时间:2015-06-20 18:24:55

标签: php mysql

所以我尝试为游戏库制作预订系统。

$timestamp = (strtotime($StartDate));
$EndDate = strtotime("+$Duration days",$timestamp);

这部分代码将输入表单的日期转换为时间戳 代码的第二行计算结束日期时间戳,用于在特定天数内保留游戏。

在我看来,我将如何做到这一点是通过创建一个变量并从数据库中选择某些值。但是,我对PHP并不擅长,所以如果我是对的,我不是百分之百确定:

$reserved = mysql_query ("SELECT count(*) FROM reservations WHERE EndDate <= $EndDate AND StartDate >= $timestamp");
if (!$reserved) { /*do nothing*/ } ELSE { echo "That date has already been reserved"; }

这应该做的是从数据库中选择冲突的时间戳,然后如果变量$ reserved不为空,我可以显示错误消息。但是,我无法让它发挥作用。如何正确显示错误消息?

1 个答案:

答案 0 :(得分:0)

您应该使用如下:

    $result = mysql_query("Select * from reservations where StartDate >= '".$timestamp."' AND  EndDate <= '".$EndDate."'");
    $num_rows = mysql_num_rows($result);
    if($num_rows==0)
    { 
       //Your Process 
    } 
    else 
    { echo "That date has already been reserved"; }