Ciao a tutti ho un problema con uno script che dovrebbe inserirmi nel database MySQL dei dati relativi a degli articoli che gli utenti pubblicano, uno di questi è la data di pubblicazione, che, a quanto pare, da problemi ad essere accettata da MySQL.

la tabella MySQL (cms_articles) contiene:

article_id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,

user_id INTEGER UNSIGNED NOT NULL,

is_published BOOLEAN NOT NULL DEFAULT FALSE,

submit_date DATETIME NOT NULL,

publish_date DATETIME,

title VARCHAR(255) NOT NULL,

article_text MEDIUMTEXT,
mentre lo script di transazione che va a recuperare i valori da un form con method="post" e va a scrivere il contenuto nella tabella contiene:

Codice PHP:
case 'Submit New Article':
        
$title = (isset($_POST['title'])) ? $_POST['title'] : '';
        
$article_text = (isset($_POST['article_text'])) ? $_POST['article_text'] : '';
        if (isset(
$_SESSION['user_id']) && !empty($title) &&
            !empty(
$article_text)) {
            
$sql 'INSERT INTO cms_articles
                    (user_id, submit_date, title, article_text)
                VALUES
                    (' 
$_SESSION['user_id'] . ', 
                    "' 
date('Y-m-d H:i:s') . '",
                    "' 
mysql_real_escape_string($title$db) . '",
                    "' 
mysql_real_escape_string($article_text$db) . '")';
            
mysql_query($sql$db) or die (mysql_error($db));
        }
        
redirect('cms_index.php');
        break; 
testandolo mi si presenta il seguente errore:

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 ' "2010-09-20 23:37:28", "titolo", ' at line 4
dove "2010-09-20 23:37:28" è la data di pubblicazione e "titolo" è semplicemente il corrispettivo di title.

a cosa può essere dovuto esattamente? non capisco, ho provato anche a modificare i parametri all'interno di date() ma nulla.. mi ripete sempre lo stesso errore.. che sia mica la funzione che non va bene?