설명 :데이터베이스에서 (MySQL) 마이너스 개월, PHP 코드입니까?
구매 기능을 수행 할 때마다 사용자가 구입할 때마다 내 사이트의 특수 액세스 페이지에 1 개월간의 권한이 추가됩니다. 사용자로부터 불만이 접수되었습니다. 문제 섹션을 읽어보십시오.
문제 :
500 사용자 중, 예를 들어 있음, 소수의 사용자가있다 : 구매 오늘 만들지 만, 만기일이 1 또는 2 일 또는 몇 달 뒤로 간다. 예를 들어 내가 MySQL 데이터베이스에 삽입하기 전에 1개월을 추가 사용하고 코드는
됩니다
: 그는 유효 기간은 2010 년 5 월 25내 PHP는 코드가 3 년 8 월 2010 년 구입
// I already set the default timezone
$expiryDate = date("Y-m-d H:i:s",strtotime("+1 month"));
코드가 잘못되었거나 서버가 잘못되었거나 제 3 자 지불 게이트웨이가 잘못되어 있는지 확실하지 않습니다. 해결 방법을 알려주십시오.
! 중요한 질문!
만료 날짜가 늦어지는 원인은 무엇입니까? 당신이 날짜 또는 날짜 필드와 데이터베이스에서 만료 시간을 저장하는 경우
안녕하세요. 저는 구매 날짜, 만료 날짜와 같은 인수를 허용하는 updateDB 함수를 작성했습니다. 왜냐하면 장래에 다른 종류의 구매 (1 일, 2 일 등)가있을 수 있기 때문입니다. 내 기능을 수정해야합니까? 아니면 다른 해결책이 있습니까? –
DATE_ADD 문서를 내 답변에 링크 된 것으로 읽으십시오. 사용할 수있는 다양한 간격 유형이 있으며 빼기가 필요할 경우 항상 DATE_SUB이 있습니다. PHP 날짜 논리에서 동등한 MySQL 문으로의 매핑 함수를 설정하기에 충분히 간단해야합니다. 물론 보통 날짜 계산에는 문제가되는 부분 만 있습니다. 30 분의 31 대신 28/29 일을 주겠다는 것을 알기 위해서만 2 월에 한 달의 액세스를 구입하는 것을 싫어합니다. –