2013-06-27 6 views
-1

단순히 데이터베이스에 새 행에 현재 날짜와 시간을 연결하기 위해 노력하고있어에 날짜/시간을 삽입하지만,이 오류가 수신 계속 :는 MySQL의

Table creation failed... (1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''session' (id , user_id , date) VALUES ('', 1, 2013-06-27 22:13:57)' at line 1

이 내가가 가지고있는 코드입니다 날짜 검색 :

date_default_timezone_set('Australia/Melbourne'); 
$date = date('Y-m-d H:i:s'); 

와 문 "삽입"

if (!$mysqli->query("INSERT INTO 'session' (`id`, `user_id`, `date`) VALUES ('', $user_id, $date)")) { 
    echo "Table creation failed... (" . $mysqli->errno . ") " . $mysqli->error; 
} 

을 나는 t을 제거 할 때 오류가 사라집니다 $ date 변수를 문장 내에서 사용하거나 NOW()로 바꿀 때 (그러나 정확히 원하는대로는 아닙니다).

내가 뭘 잘못하고 있는지 확실하지 않지만 어리석은 실수라고 확신합니다.

+0

mysql에서 열 날짜를 어떻게 정의합니까? – RiggsFolly

+0

난 그냥 반전 빗자루 – Strawberry

+0

한쌍을 놓친거야 아니면 그냥 current_timestamp에 열을 기본 삽입 값을 설정할 수 있으며 코드 – Dave

답변

2

당신은 열 또는 테이블 이름을 사용 역 따옴표가 아닌 따옴표

INSERT INTO `session` (`id`, `user_id`, `date`) VALUES ('', $user_id, '$date') 
      ^-------^--------backticks   quotes---------------^-----^ 

또한, 따옴표에 날짜를 넣어 탈출 할 경우는 $ 데이터와 $에 따옴표와 함께 시도 문자열

+0

완벽하게 삽입 귀찮게하지 말라고. 도와 주셔서 감사합니다. 내가 뭔가 간단하게하고 있다는 것을 알았어. (단지 궁금한 점이 있으시면, 두려워하지 말고, 두려워하지 마라. 나는 지금 막 배우고있다. 이것은 공개적인 애플리케이션이 아니다.) –

0

때문에 USER_ID (정수가 아닌 경우) :

if (!$mysqli->query("INSERT INTO session (id, user_id, date) VALUES ('', '$user_id', '$date')")) { 
    echo "Table creation failed... (" . $mysqli->errno . ") " . $mysqli->error; 
} 
0

당신은 테이블 이름에 대한 쿼리 및 역 따옴표 여기에 작은 따옴표를 잊었

,536,
"INSERT INTO `session` (`id`, `user_id`, `date`) VALUES ('', $user_id, '$date')" 
      ^ ^            ^ ^
+0

@Downvoter 이제 답을 편집하고 누락 된 부분을 추가했다. –