如何防止用户在特定时间/日期内从mysql中删除记录

时间:2015-03-22 13:54:02

标签: php mysql

我正在尝试实现一个php / mysql语句,该语句只允许用户在特定日期/时间删除记录。用户当前可以随时删除记录。然而,由于这是一个预订系统,每当用户想要取消预订时,应该有2天的通知。因此,我想知道如何制作一项功能,防止用户取消预订日期/时间不到2天的预订。

我的表格目前有以下字段: BookingDate 时间段

这是一段目前执行mysql删除功能的代码片段。

 $id = $_GET['id'];

 $query1="DELETE from bookings1 where booking_id='$id'";

 $results = $mysqli->query($query1);

我想要做的是验证此删除功能,以防止用户删除预订日期不到48小时的记录?

1 个答案:

答案 0 :(得分:0)

总的来说,我主张为应用程序开发API。这意味着应用程序使用存储过程和视图与数据库对话,而不是直接使用SQL查询。

这样做的主要原因是可以在存储过程中实现其他逻辑。所以,如果你有一个usp_delete_booking存储过程,那么可以在那里实现逻辑,在调用时返回一个很好的错误消息。

另一种方法是实现执行测试的触发器。当您开始引入更高级的权限时,这会变得复杂 - 因此用户通常无法在两天前删除预订。但主管可以。或者,在某些情况下,您可能会允许它。触发器必须实现所有逻辑,因为它很难规避。