2012-07-27 2 views
1

안녕하세요, PHP와 MySQL을 배우고 있습니다. MySQl에 날짜를 삽입하거나 날짜를 업데이트하는 데 문제가 있습니다.Php를 사용하여 MySQL에 날짜 입력시 문제

오류는 일반적으로 다음과 같습니다. SQL 구문에 오류가 있습니다. '08 : 17 : 00, 2012-07-12 08:17:00, 2012-07-12 08:17:00, 2012-07-08 근처에서 사용할 올바른 구문을 보려면 MySQL 서버 버전에 해당하는 설명서를 확인하십시오. 12 08:17:00

나는 4 개의 날짜 항목을 가지고 있으므로 위의 4 가지 날짜에 대한 이유가 있습니다. 그래서 날짜가 들어가는 것 같지만 시간에 문제가 있습니다. 내 datebase에서 datetime을 사용 중입니다.

여기 내 코드입니다. 날짜 삽입을 주석 처리하면 다른 모든 것들이 잘 삽입되므로 불필요한 것들을 걸러 냈습니다.

$end_date = ($_POST['end_date']); 
$end_date = date('Y-m-d H:i:s',strtotime($end_date)); 

삽입 쿼리는 간단하다 :

mysql_query("INSERT INTO deals (end_date) 
VALUES ('$end_date')") 

or die(mysql_error()); 

지금이 연구 그대로 소요 시간을 필자와 내가 업데이 트에 적용 않은 하나 개의 솔루션은 잘하지만 메신저 근무하는이 있었다, 운없이 조합의 무리를 시도 내가 3 일을이 시나리오에 추가 할 필요가 없으므로 인서트에 적용하는 방법을 잘 모르겠다. 그리고 메신저를 배우는 동안 지금이 날짜 문제를 해결하기 위해 더 잘 생각하고있다.

$sql = "UPDATE deals SET deal_end_date = DATE_ADD(now(), INTERVAL $my_expiry DAY)"; 

지금 학습의 내 스타일은 웹 사이트를 만들 다음 기초에 40 시간 자습서를 시청하고 있었고, 난 다른 문제를 건너 웹 사이트의 각 부분에 대해, 나는 그것을 코드와 학습 방법 연구 조금씩. 나는 이것을 매뉴얼을 읽는 것보다 훨씬 더 동기 부여가되는 것으로 안다.

도움을 주시면 감사하겠습니다. 더 쉽게 읽을 수 있도록 코드를 멍청이로 배우기 때문에 나중에 코드를 제거하는 방법을 살펴볼 수 있습니다. 그러나 솔루션이 더 읽기 쉬운 형식으로되어 있으면 도움이 될 것입니다.

+0

후 당신이 오류에서 SQL 쿼리 –

+0

을 결과 :''08 : 17 : 00, 2012-07-12 08 : 17 : 00, 2012-07-12 08:17:00, 2012-07-12 08 : 17 : 00' 문제는 SQL에서 날짜 주위에 아포스트로피가 필요하다는 것을 짐작하고 있습니다. – Dale

+0

@Dale 그 이유는 우리에게 쿼리를 보여주기 위해 OP를 묻는 메시지 :) –

답변

0

쿼리 elads를 invaid 구문으로 작성하는 방법. 대신 디버깅 목적으로 구성된 문자열을 덤프하면 따옴표가 잘못되었음을 알 수 있습니다.

잘못된 :

INSERT INTO deals (end_date) VALUES ('2012-07-12 08:17:00, 2012-07-12 08:17:00, 2012-07-12 08:17:00'); 

올바른 것 같은 뭔가 : 여기

INSERT INTO deals (end_date) VALUES ('2012-07-12 08:17:00', '2012-07-12 08:17:00', '2012-07-12 08:17:00'); 
+0

실제로 필자가 복사 할 때 인용문에 날짜를 넣지 않았기 때문에 재미있었습니다. 나는 필터링 된 문장을주의하지 않고 따옴표로 묶었지만 한 번 언급하면 ​​즉시 모든 도움 사람에게 감사 할 수 있습니다. – user1547410

관련 문제