ID号每天输入一次

  • 本文关键字:一次 每天 ID php mysql
  • 更新时间 :
  • 英文 :


是否可以创建一个查询,允许ID号每天在mysql中输入一次?

我只是想知道是否有可能有查询,ID号允许每天输入一次,并将在进入数据库24小时后再次接受。

以及如何将它插入到我的数据库中的另一个表。

我有两个表:emp_list祝辞Emp_id, emp_name, reg_dateticket_logs祝辞emp_id, datelogs

我真的不擅长造英语句子。我希望你们能明白我想说的。
$check=mysqli_query($con,"SELECT * FROM emp_lists WHERE emp_id='$emp_id'");
$checkrows=mysqli_num_rows($check);
$query = "INSERT INTO ticket_logs (id, emp_id) SELECT id, emp_id FROM emp_lists WHERE emp_id='$emp_id'";
$query_run = mysqli_query($con, $query);
if($checkrows != null) {
    echo "";
} else {  
    //insert results from the input
    $query = "INSERT IGNORE INTO ticket_logs(emp_id) VALUES('$emp_id')";
    $result = mysqli_query($con, $query) or die('<span style="color:#fa0a0a;text-align:center;">Invalid ID Number!</span>');
    mysqli_close($con);
}
echo'<span style="color:#0d02db;text-align:center;">ID Number Accepted! For Today Please Return after 24hours, Thank you!</span>';
};

请在ticket_logs中添加一列,例如timestamp(类型为datetime),以便系统可以检查插入记录的日期时间

然后使用该数据来决定是否插入数据。因此,如果没有now() < timestamp + INTERVAL 24 HOUR的记录,则执行数据插入,否则不执行数据插入。

另一方面,请改为使用参数化的预处理语句,以避免SQL注入攻击。

所以代码是:
<?php
//$emp_id=1234;
$mysqli = new mysqli($host, $dbuser, $password, $db);
$query="SELECT * FROM ticket_logs WHERE emp_id=? and now() < timestamp + INTERVAL 24 HOUR";
$stmt = $mysqli->prepare($query);
$stmt->bind_param("i", $emp_id);
$stmt->execute();
$result = $stmt->get_result();

if ($result->num_rows==0) {
  $query2="INSERT INTO ticket_logs (emp_id, timestamp) values (?, now())";
  $stmt2 = $mysqli->prepare($query2);
  $stmt2->bind_param("i", $emp_id);
  $stmt2->execute();
  echo '<span style="color:#0d02db;text-align:center;">ID Number Accepted!</span>';
} else {
  echo '<span style="color:#0d02db;text-align:center;">ID Number Not Accepted! Please Return after 24hours, Thank you!</span>';
}   
?>

最新更新