Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Duplicate entry '07/01/2006' for key 2

    Ciao ragazzi. Ho creato un piccolo script per inserire le news il problema e che quando lo eseguo mi dice: Duplicate entry '07/01/2006' for key 2

    Questo probema risale a quando voglio inserire la data nel database:
    Codice PHP:
    // controllo login 
    require('controllo.php'); 
    // connessione database
    require('config.inc.php');
    // recupero i dati 
    $titolo=$_POST['titolo']; 
    $testo=$_POST['testo']; 
    $autore=$_POST['autore']; 

    // qui!
    $data=date("d/m/Y");

    // inserisco i dati 

    // anche qui
    $news "INSERT INTO news (id,titolo,testo,autore,data) VALUES('','$titolo','$testo','$autore','$data')";  


    // invio query 
    $query=mysql_query($news) or die (mysql_error()); 
    // news inserita 
    echo "News inseria con successo"
    // chiudo la connessione 
    mysql_close(); 
    Che cosa vuol dire?
    Cosa sbaglio?

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    il campo 'data' è per caso di tipo UNIQUE?
    Se fosse così l'errore sta proprio lì, perchè quel tipo di campo identifica un campo permette di inserire valori l'uno diverso dall'altro e se provi ad aggiungere due valori uguali ti restituisce quell'errore...

    ciao

  3. #3
    Perché quando inserisci la query ce n'é già una con lo stesso id...devi mettere il campo dell'id auto_increment
    Almeno a me ha dato questo errore quando ho avevo due id uguali.

  4. #4
    non credo sia tanto questo il problema (però se non hai id su auto_increment mettilo) ma più che il campo data è definito come unico

  5. #5
    No, non è unico...

    Sql:

    `data` date NOT NULL default '0000-00-00',

    Come mai??

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    Non è che magari è una primary key o una chiave esterna?
    Altrimenti, sinc, non so davvero cosa possa essere...

    ciao

  7. #7
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    mostra la definizione della tabella

  8. #8
    CREATE TABLE `news` (
    `id` int(5) NOT NULL auto_increment,
    `titolo` varchar(255) NOT NULL default '',
    `testo` varchar(255) NOT NULL default '',
    `autore` varchar(255) NOT NULL default '',
    `data` date NOT NULL default '0000-00-00',
    PRIMARY KEY (`id`),
    UNIQUE KEY `data` (`data`),
    KEY `data_2` (`data`)
    ) TYPE=MyISAM AUTO_INCREMENT=11 ;

    Come faccio?

    L'ho provata a spostare su UNIQUE ma non va!

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    codice:
     UNIQUE KEY `data` (`data`)
    il campo data è unique, come ti avevo detto un po' di post + su, quindi in questo campo dovrai mettere dati univoci, o meglio, non puoi avere 'doppioni'...
    Scuas il linguaggio poco tecnico

    Se hai necessità di avere nel campo 'data' + date uguali, allora devi togliere a questo campo l'attributi unique,almeno, penso basti questo...

    Ciao

  10. #10
    Ok, funziona!

    L'ho messo come index è ora va!

    Grazie a tutti e buona giornata!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.