2010-12-02 17 views
-1

私の日付が間違っていますか?1064 - SQL構文でエラーが発生しました

 
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 
'%M-%y').', '.date('h:i:s a').', '3', '1', 'Title', 'Pr', 'BPM001')' at line 1 
INSERT into names(com_id,rec_date,rec_time,rec_type,rec_request,rec_by,batch_id) 
values('300','.date('%d-%M-%y').','.date('h:i:s a').','3', '1', 'Title', 'Pr', 'BPM001') 
+1

PHPコードも投稿してください。 –

答えて

0

あなたはこれを試すことができます。 "300 '、" ".date("%d-%M-%y ")の値に挿入してください("%d ")。 ( 'h:i:sa') ''、 '3'、 '1'、 'Title'、 'Pr'、 'BPM001') ";

+1

MySQLの[date](http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date)関数はPHPの日付のようには機能しません。そして、あなたはフォーマットに一貫していなくても、1つはMySQL用で、もう1つはPHP用です。 @acctmanあなたは完全に間違っている答えを選択しました。それがしている唯一のことはあなたにエラーを与えることではありません。 –

0

この

$q= "INSERT into names(com_id,rec_date,rec_time,rec_type,rec_request,rec_by,batch_id) values('300', '".date('%d-%M-%y')."', '".date('h:i:s a')."', '3', '1', 'Title', 'Pr', 'BPM001')"; 
+0

PHPの日付は '%'の書式を使用していません。 –

1

を試してみてくださいあなたがMySQLのフォーマットでフォーマットするPHPの日付を混合しているようです。有効な方法は次のとおりです。

$sql = " 
    INSERT INTO names 
    (com_id,rec_date,rec_time,rec_type,rec_request,rec_by,batch_id) 
    values('300', DATE_FORMAT('%d-%M-%y'), '".date('h:i:s a')."', '3', '1', 'Title', 'Pr', 'BPM001') 
"; 

推奨される方法は、そのうちの1つに固執することです。

$sql = " 
    INSERT INTO names 
    (com_id,rec_date,rec_time,rec_type,rec_request,rec_by,batch_id) 
    values('300', DATE_FORMAT('%d-%M-%y'), DATE_FORMAT('%r'), '3', '1', 'Title', 'Pr', 'BPM001') 
"; 

OR

$sql = " 
    INSERT INTO names 
    (com_id,rec_date,rec_time,rec_type,rec_request,rec_by,batch_id) 
    values('300', '".date('d-F-Y')."', '".date('h:i:s a')."', '3', '1', 'Title', 'Pr', 'BPM001') 
"; 
関連する問題