Visualizzazione risultati 1 fino 3 di 3

Discussione: Inserire record nel database

  1. #1
    L'avatar di Johell
    Johell non è connesso Utente attivo
    Data registrazione
    27-03-2007
    Messaggi
    415

    Predefinito Inserire record nel database

    ciao ragazzi sapete dirmi perchè non riesco ad inserire dati nel database tramite form?

    ecco il codice che sto usando:

    Codice PHP:
    $campo1 = stripslashes($_POST['campo1']);
    $campo2 = stripslashes($_POST['campo2']);

    $db = mysql_connect($db_host, $db_user, $db_password);
    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri nel file config.php");
    mysql_select_db($db_name, $db)
    or die (
    "Errore nella selezione del database. Verificare i parametri nel file config.php");



    $query = "INSERT INTO biscottini (descrizione, autore) VALUES ('$campo1', '$campo2')";
    if (
    mysql_query ($query, $db))
    echo
    "<b>Inserimento riuscito!</b><br><br>";
    else
    echo
    "<b>Errore nell'inserimento :-(</b><br><br>";
    la connessione viene stabilita correttamente, quindi i dati per accedere al database stanno a posto, però non riesco a scriverci dentro.

    la mia tabella dove scrivere si chiama biscottini.

    dove sbaglio?


    edit:
    ho risolto, sul $campo2 mi da errore se inserisco nella parola un apostrofo, quindi ho risolto modificando il database e gli ho assegnato la proprietà text anziché tinytext come era prima.

    ora però vorrei fare una cosa, prima di scrivere sul database posso sapere se la frase $campo1 è stata gia inserita in passato? e nel caso quindi evitare di inserirla nuovamente?
    Ultima modifica di Johell : 16-08-2012 alle ore 13.51.31

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,270

    Predefinito

    Prima di inserire dati in una query e poi inviarli un database, devi sempre assicurarti che non contengano caratteri o comandi pericolosi. Per mysql, questo può essere fatto passandoli attraverso la funzione mysql_real_escape_string().

    Per non inserire due volte lo stesso record puoi o controllare prima dell'inserimento con una select, oppure definire la colonna come UNIQUE.


    edit: btw, il codice che avevamo discusso e che faceva già tutto questo lavoro?
    Ultima modifica di dreadnaut : 16-08-2012 alle ore 14.32.48

  3. #3
    L'avatar di Johell
    Johell non è connesso Utente attivo
    Data registrazione
    27-03-2007
    Messaggi
    415

    Predefinito

    Grazie dreadnaut ma in quel periodo ancora non riuscivo a capire come funzionassero i database. Ora invece mi ci sono messo di punta e sto iniziando a capirci qualcosa.

    Non si finisce mai di imparare.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •