Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    date() crea problemi dentro tabella mysql

    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?
    Perpetual Ribellion With Absolutely No Cause

  2. #2
    Codice PHP:
    "' . date('Y-m-d H:i:s') . '"
    sostituisci con

    Codice PHP:
    NOW(), 
    ti memorizza data e ora al momento dell'inserimento degli articoli

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.