2013-08-30 4 views
1

MySQL INSERT 쿼리를 실행합니다. 단 3 개의 동적 변수는 전자 메일 주소와 2 개의 날짜 ('Y-m-d H : i : s') 필드입니다.INSERT 쿼리의 MySQL 구문 오류

오류가 발생합니다.

SQL 구문에 오류가 있습니다. 라인 1

에 가까운 'LIST_SUBSCRIBER'를 사용할 수있는 권리 구문에 대한 MySQL 서버 버전에 해당하는 설명서를 확인 내 쿼리 : 모든 SELECT 쿼리가 제대로 작동

$today = date('Y-m-d H:i:s'); 

INSERT INTO subscriber_table (
    list_subscriber, user_subscriber, robot_subscriber, date_subscriber, 
    update_subscriber, visibility_subscriber, reception_subscriber, 
    subscribed_subscriber, included_subscriber 
) 
VALUES (
    'newsletter', $email, 'listserv.valoans.com', $today, $today, 'conceal', 'mail', '1', '0' 
) 

.

+2

검색어에'$ email'를 인용 부호로 묶어야합니까? 당신은 또한 당신을 위해 그런 종류의 일을 처리 준비된 성명을 사용하여 전환 할 수 있습니다. – andrewsi

+1

과 $ today 날짜 주위에 따옴표. '2013-08-31'은 3 학기 산술 뺄셈으로 해석되어 결국 '1974 년'이 될 것입니다. '2013-08-31'(따옴표에 유의하십시오)은 날짜 (또는 적어도 문자열)로 처리됩니다. –

답변

2

그것은해야한다 : 또한

$sql = "INSERT INTO subscriber_table(list_subscriber, user_subscriber, 
            robot_subscriber, date_subscriber, 
            update_subscriber, visibility_subscriber, 
            reception_subscriber, subscribed_subscriber, 
            included_subscriber) 
     VALUES('newsletter', '$email', 'listserv.valoans.com', 
       '$today', '$today', 'conceal', 'mail',' 1', '0')"; 

, 당신이 탈출 할 $email로, 첫째 : 그러나

$email = mysql_real_escape_string($email); 

당신이 매개 변수화 쿼리를 지원 mysqli 또는 PDO를 사용하는 경우, 그것은 더 나은 것 문자열로 보간하는 대신.